859.親密文字列(Python)
842 ワード
タイトル
難易度:★☆☆☆タイプ:文字列
小文字からなる2つの文字列AとBを与え、Aの2つの文字を交換することでBと等しい結果を得ることができればtrueを返す.そうでなければfalseを返します.
ヒント0<=A.length<=200000<=B.length<=20000 AおよびBは小文字のみで構成されます.
例
例1入力:A=“ab”,B=“ba”出力:true
例2入力:A=“ab”,B=“ab”出力:false
例3入力:A=“aa”,B=“aa”出力:true
例4入力:A=「aaaaaaabc」、B=「aaaaaacb」出力:true
例5入力:A=“”,B=“aa”出力:false
に答える
ここでは、コメントの解法を参照します.
質問やアドバイスがあれば、コメントエリアへようこそ~
難易度:★☆☆☆タイプ:文字列
小文字からなる2つの文字列AとBを与え、Aの2つの文字を交換することでBと等しい結果を得ることができればtrueを返す.そうでなければfalseを返します.
ヒント0<=A.length<=200000<=B.length<=20000 AおよびBは小文字のみで構成されます.
例
例1入力:A=“ab”,B=“ba”出力:true
例2入力:A=“ab”,B=“ab”出力:false
例3入力:A=“aa”,B=“aa”出力:true
例4入力:A=「aaaaaaabc」、B=「aaaaaacb」出力:true
例5入力:A=“”,B=“aa”出力:false
に答える
ここでは、コメントの解法を参照します.
class Solution(object):
def buddyStrings(self, A, B):
# false
if len(A) != len(B): return False
# , ,
if A == B and len(set(A)) < len(A): return True
# zip ,
dif = [(a, b) for a, b in zip(A, B) if a != b]
# 2, , (a,b) (b,a)
return len(dif) == 2 and dif[0] == dif[1][::-1]
質問やアドバイスがあれば、コメントエリアへようこそ~