給定兩個由小寫字母構成的字串 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:
輸入: a =
"aaaaaaabc"
, b =
"aaaaaaacb"
輸出: true
示例 5:
輸入: a =
"", b =
"aa"
輸出: false
```python
class
solution
:def
buddystrings
(self, a:
str, b:
str)
->
bool
:'''為true時,兩種情況'''
if a == b and
len(
set(a)
)<
len(a)
:# a,b長度相等,且a中有兩個以上相同的字母
return
true
ans =
[(a,b)
for a, b in
zip(a,b)
if a!=b]
# a,b中有兩對字母不相等
return
len(ans)==2
and ans[0]
==ans[1]
[::-
1]return
false
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 出現差異的位置...