242 Valid anagram
Original Description: Given two strings s and t , write a function to determine if t is an anagram of s.
- 要求: 给两个string, s 和 t, 判断t是否是s的anagram(字母组成相同)
- 返回: True/False
- 例子:
- input: s = “anagram”, t = “nagaram”
- output: True
Solution
- 首先判断s和t是否长度相同。
- 用dict记录s中字母及其出现次数。
- 遍历t中字母,从dict中将出现次数减去一次。最后判断dict.values()是否由set(s)长度个0 组成。
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
d = {}
if len(s) == len(t):
for i in range(len(s)):
if s[i] not in d:
d[s[i]]=1
else:
d[s[i]]+=1
for i in range(len(t)):
if t[i] not in d:
return False
else:
d[t[i]] -= 1
if list(d.values()) == [0]*len(set(s)):
return True
else:
return False
else:
return False