美文网首页
41.两个字符串是否是变位词

41.两个字符串是否是变位词

作者: vbuer | 来源:发表于2018-09-04 09:53 被阅读7次
    class Anagram:
        """
        @:param s1: The first string
        @:param s2: The second string
        @:return true or false
        """
        def Solution1(s1,s2):
            alist = list(s2)
    
            pos1 = 0
            stillOK = True
    
            while pos1 < len(s1) and stillOK:
                pos2 = 0
                found = False
                while pos2 < len(alist) and not found:
                    if s1[pos1] == alist[pos2]:
                        found = True
                    else:
                        pos2 = pos2 + 1
    
                if found:
                    alist[pos2] = None
                else:
                    stillOK = False
    
                pos1 = pos1 + 1
    
            return stillOK
    
        print(Solution1('abcd','dcba'))
    
        def Solution2(s1,s2):
            alist1 = list(s1)
            alist2 = list(s2)
    
            alist1.sort()
            alist2.sort()
    
    
            pos = 0
            matches = True
    
            while pos < len(s1) and matches:
                if alist1[pos] == alist2[pos]:
                    pos = pos + 1
                else:
                    matches = False
    
            return matches
    
        print(Solution2('abcde','edcbg'))
    
        def Solution3(s1,s2):
            c1 = [0]*26
            c2 = [0]*26
    
            for i in range(len(s1)):
                pos = ord(s1[i])-ord('a')
                c1[pos] = c1[pos] + 1
    
            for i in range(len(s2)):
                pos = ord(s2[i])-ord('a')
                c2[pos] = c2[pos] + 1
    
            j = 0
            stillOK = True
            while j<26 and stillOK:
                if c1[j] == c2[j]:
                    j = j + 1
                else:
                    stillOK = False
    
            return stillOK
    
        print(Solution3('apple','pleap'))
    

    相关文章

      网友评论

          本文标题:41.两个字符串是否是变位词

          本文链接:https://www.haomeiwen.com/subject/bdzniftx.html