Leetcode Python - 242. Valid Anagram
Leetcode #242 - Valid Anagram
이제 blind 75 leetcode를 풀어보겠습니다. https://leetcode.com/discuss/interview-question/460599/Blind-75-LeetCode-Questions
리트코드의 문제 242 ‘Valid Anagram’을 파이썬으로 풀어 보도록 하겠습니다.
discuss 참고, 포인트는 dictionary에 s의 char를 넣고, t의 char를 돌면서 value를 빼주면 일치할 경우 모든 value의 값이 0이 되어야 합니다.
전체 코드는 아래와 같습니다.
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False
seen = {}
for c in s:
if c in seen:
seen[c] += 1
else:
seen[c] = 1
for c in t:
if c in seen:
seen[c] -= 1
else:
return False
for v in seen.values():
if v != 0:
return False
return True
시간복잡도는
- O(n+m) : O(n(s의 길이)) + O(m(t의 길이))
공간복잡도는
- O(n) : s와 t 중 큰 값만큼의 dictionary