給定兩個由小寫字母構成的字串解法:a
和b
,只要我們可以通過交換a
中的兩個字母得到與b
相等的結果,就返回true
;否則返回false
。
分類討論:
class solution(object):
def buddystrings(self, a, b):
""":type a: str
:type b: str
:rtype: bool
"""if (not a and not b) or len(a) != len(b):
return false
if a == b:
s = set()
for i in a:
if i in s:
return true
s.add(i)
return false
else:
res =
for a,b in zip(a, b):
if a != b:
if len(res) > 2:
return false
return len(res) == 2 and res[0] == res[1][::-1]
參考: LeetCode 859 親密字串
題目描述 給定兩個由小寫字母構成的字串 a 和 b 只要我們可以通過交換 a 中的兩個字母得到與 b 相等的結果,就返回 true 否則返回 false 輸入示例1 輸入 a ab b ba 輸出 true 輸入示例2 輸入 a ab b ab 輸出 false 輸入示例3 輸入 a aa b aa...
LeetCode 859 親密字串
給定兩個由小寫字母構成的字串a和b,只要我們可以通過交換a中的兩個字母得到與b相等的結果,就返回true 否則返回false。示例 1 輸入 a ab b ba 輸出 true 示例 2 輸入 a ab b ab 輸出 false 示例 3 輸入 a aa b aa 輸出 true 示例 4 輸入 ...
LeetCode(859 親密字串)
如題 審題很重要哦,著重注意是存在差異的話是有僅有一對並且相同時存在重複字元也是可以的 public static boolean buddystrings string a,string b char a u0000 對於差異點的備份 char b u0000 int flag 0 出現差異的位置...