边工作边刷题: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

posted @ 2016-06-12 05:08  absolute100  阅读(61)  评论(0编辑  收藏  举报