leetcode-242:有効なアルファベット異位語
5439 ワード
LC有効なアルファベット異位語テーマ: 解題: 方法一:ハッシュテーブル(i) メソッド2:ソート
タイトル:
タイトルリンクは2つの文字列sとtを与え,tがsのアルファベット異位語であるか否かを判断する関数を記述する.
例1:
例2:
問題を解く:
方法1:ハッシュテーブル(i)
まず1つの文字列の各文字をハッシュ表カウントに入れて、もう1つの文字列を遍歴して、1回現れるたびにハッシュ表の対応する値を1つ減らして、減らすことができないならば、Falseに戻ります
方法2:並べ替え
並べ替えた結果が同じならアルファベット異位語
タイトル:
タイトルリンクは2つの文字列sとtを与え,tがsのアルファベット異位語であるか否かを判断する関数を記述する.
例1:
: s = "anagram", t = "nagaram"
: true
例2:
: s = "rat", t = "car"
: false
問題を解く:
方法1:ハッシュテーブル(i)
まず1つの文字列の各文字をハッシュ表カウントに入れて、もう1つの文字列を遍歴して、1回現れるたびにハッシュ表の対応する値を1つ減らして、減らすことができないならば、Falseに戻ります
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if len(s)!=len(t):
return False
hush = dict()
for char in s:
hush[char] = hush.get(char,0)+1
for char in t:
if char not in hush:
return False
else:
if hush[char] == 0:
return False
else:
hush[char] -=1
return True
方法2:並べ替え
並べ替えた結果が同じならアルファベット異位語
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if sorted(s)==sorted(t):
return True
return False