边工作边刷题:70天一遍leetcode: day 61-7
Valid Anagram
要点:简单题,但是不要和Anagram那题用同样的方法验证,那题需要多个string之间找anagram,所以要encoding,而这题只是2个之间,就用一个count map然后一个加一个减就可以。为了简化条件,可以用collections.defaultdict(int)(就是不会throw KeyError,而是自动创建key entry,这里int作为参数,就是用int()作为function)
错误点:
- iterate dict只需要in map,而不用先得到key
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
hmap = collections.defaultdict(int)
if len(s)!=len(t):
return False
for i in xrange(len(s)):
hmap[s[i]]+=1
hmap[t[i]]-=1
for k in hmap:
if hmap[k]!=0:
return False
return True