leetcode 242

242

Given two strings s and t , write a function to determine if t is an anagram of s.

Example 1:

1
2
Input: s = "anagram", t = "nagaram"
Output: true

Example 2:

1
2
Input: s = "rat", t = "car"
Output: false

Note:
You may assume the string contains only lowercase alphabets.

Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?

题目意思

比较两个字符串包含的字符是否相同

解题

  • 先将字符排序,然后比较
1
2
3
4
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
return sorted(s) == sorted(t)
`
  • 如果都是字母组成,可以统计字母的个数,然后比较
1
2
3
4
5
6
7
8
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
dict1,dict2 = {},{}
for item in s:
dict1[item] = dict1.get(item,0)+1
for item in t:
dict2[item] = dict2.get(item,0)+1
return dict1 == dict2