給定兩個由小寫字母構成的字串 a 和 b ,只要我們可以通過交換 a 中的兩個字母得到與 b 相等的結果,就返回 true ;否則返回 false 。
交換字母的定義是取兩個下標 i 和 j (下標從 0 開始),只要 i!=j 就交換 a[i] 和 a[j] 處的字元。例如,在 「abcd」 中交換下標 0 和下標 2 的元素可以生成 「cbad」 。
示例 1:
輸入: a =
"ab"
, b =
"ba"
輸出: true
解釋: 你可以交換 a[0]
='a' 和 a[1]
='b' 生成 "ba",此時 a 和 b 相等。
示例 2:
輸入: a =
"ab"
, b =
"ab"
輸出: false
解釋: 你只能交換 a[0]
='a' 和 a[1]
='b' 生成 "ba",此時 a 和 b 不相等。
示例 3:
輸入: a =
"aa"
, b =
"aa"
輸出: true
解釋: 你可以交換 a[0]
='a' 和 a[1]
='a' 生成 "aa",此時 a 和 b 相等。
示例 4:
輸入: a =
"aaaaaaabc"
, b =
"aaaaaaacb"
輸出: true
示例 5:
輸入: a =
"", b =
"aa"
輸出: false
0 <= a.length <= 20000
0 <= b.length <= 20000
a 和 b 僅由小寫字母構成。
拿到這個題,我就想= =直接寫,把所有條件a和b有乙個不同,兩個不同,三個不同都列出來就好啦。
class
solution
//當有兩個以上不同或乙個不同
if(a.
size()
>2)
return0;
//當有兩個不同
else
if(a.
size()
==2&&(a[a[0]
]==b[a[1]
]&& a[a[1]
]==b[a[0]
]))return1;
//當沒有不同
else
if(a.
empty()
)return0;
}};
力扣刷題記錄 字串 簡單 859親密字串
給定兩個由小寫字母構成的字串 a 和 b 只要我們可以通過交換 a 中的兩個字母得到與 b 相等的結果,就返回 true 否則返回 false 輸入 a ab b ba 輸出 true 輸入 a ab b ab 輸出 false 輸入 a aa b aa 輸出 true 輸入 a aaaaaaabc...
859 親密字串
2020 02 05 1.題目描述 返回能否通過交換 a 中的兩個字母得到與 b 相等的結果2.題解 通過交換的字母可以是相同和不同兩種情況得到以下的分析結果 分為兩種情況,兩個字串相等或者不相等。如果相等的話,那麼看字串中是否出現次數為兩個 或兩個以上的字母,如果有就返回true,否則返回fals...
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...