10. Buddy Strings
Input: A = "ab", B = "ba"
Output: trueInput: A = "ab", B = "ab"
Output: falseInput: A = "aa", B = "aa"
Output: trueInput: A = "aaaaaaabc", B = "aaaaaaacb"
Output: trueInput: A = "", B = "aa"
Output: falseLast updated
Input: A = "ab", B = "ba"
Output: trueInput: A = "ab", B = "ab"
Output: falseInput: A = "aa", B = "aa"
Output: trueInput: A = "aaaaaaabc", B = "aaaaaaacb"
Output: trueInput: A = "", B = "aa"
Output: falseLast updated
def buddyStrings(self, A, B):
if len(A) != len(B): return False
# abcc = abcc
if A == B and len(A) > len(set(A)): return True
diffa = []
diffb = []
for i in range(len(A)):
if len(diffa) > 2:
return False
if A[i] != B[i]:
diffa.add(A[i])
diffb.add(B[i])
if len(diffa) != 2:
return False
if diffa[0] == diffb[1] and diffa[1] == diffb[0]:
return True
return False