HTMLify

LeetCode - Check if One String Swap Can Make Strings Equal - Python
Views: 19 | Author: abh
class Solution:
    def areAlmostEqual(self, s1: str, s2: str) -> bool:
        if s1 == s2:
            return True
        if len(s1) != len(s2):
            return False
        if set(s1) != set(s2):
            return False
        if list(s1).sort() != list(s2).sort():
            return False
        d = 0
        s1uc, s2uc = set(), set()
        for i in range(len(s1)):
            if s1[i] != s2[i]:
                s1uc.add(s1[i])
                s2uc.add(s2[i])
                d += 1
                if d > 2:
                    return False
        return d == 2 and s1uc == s2uc

Comments