Leetcode Python - 125. Valid Palindrome
Leetcode #125 - Valid Palindrome
리트코드의 문제 125 ‘Valid Palindrome’을 파이썬으로 풀어 보도록 하겠습니다. 주어진 string이 회문(palindrome)인지 아닌지 boolean을 return하는 문제입니다.
python string의 isalpha()와 isnumeric(), 그리고 lower() 함수를 쓰면 손쉽게 구할 수 있습니다.
class Solution:
def isPalindrome(self, s):
alpha = ''
for char in s:
if char.isalpha() or char.isnumeric():
alpha += char.lower()
for i in range(len(alpha)//2):
if alpha[i] != alpha[-i-1]:
return False
return True
시간복잡도는 O(n) : 첫번째 for loop (n) + 두번째 for loop (n/2)
공간복잡도는 O(n) : n 크기의 alpha