📌
よわよわエンジニアが解く242. Valid Anagram
以下のようにすると、文字列1回ずつの走破でアルファベットと文字数のマップが作成できる。
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False
s_map = {}
t_map = {}
for c in s:
if c in s_map:
s_map[c] += 1
else:
s_map[c] = 1
for c in t:
if c in t_map:
t_map[c] += 1
else:
t_map[c] = 1
return s_map == t_map
これでも意味は一緒。
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False
s_map = {}
t_map = {}
for i in range(len(s)):
s_map[s[i]] = 1 + s_map.get(s[i], 0)
t_map[t[i]] = 1 + t_map.get(t[i], 0)
return s_map == t_map
Discussion