【题目】
给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。
示例 :
输入: A = "ab", B = "ba"
输出: true
示例 :
输入: A = "ab", B = "ab"
输出: false
示例 :
输入: A = "aa", B = "aa"
输出: true
示例 :
输入: A = "aaaaaaabc", B = "aaaaaaacb"
输出: true
【思路】
本题较为简单,判断两个字符串不同字符有多少个、是否相同。
【代码】
python版本
class Solution(object):
def buddyStrings(self, A, B):
"""
:type A: str
:type B: str
:rtype: bool
"""
if len(A) != len(B):
return False
repeat = len(set(A)) != len(A)
notsame =
unsameA = []
unsameB = []
for i in range(len(A)):
if A[i] != B[i]:
notsame +=
unsameA.append(A[i])
unsameB.append(B[i])
if notsame > :
return False
elif notsame == :
if set(unsameA) == set(unsameB):
return True
else:
return False
else:
if repeat:
return True
else:
return False