Leetcode Python - 125. Valid Palindrome
Leetcode #125 - Valid Palindrome
이제 blind 75 leetcode를 풀어보겠습니다. https://leetcode.com/discuss/interview-question/460599/Blind-75-LeetCode-Questions
리트코드의 문제 125 ‘Valid Palindrome’을 파이썬으로 풀어 보도록 하겠습니다.
포인트는 two point를 시작과 끝을 기준으로 비교하며 만나는 것입니다.
전체 코드는 아래와 같습니다.
class Solution:
def isPalindrome(self, s):
string = s.lower()
start = 0
end = len(s)-1
while start < end:
while start<end and not string[start].isalnum():
start += 1
while start<end and not string[end].isalnum():
end -= 1
if string[start] != string[end]:
return False
else:
start += 1
end -= 1
return True
시간복잡도는
- O(n) : 한 번의 while loop
공간복잡도는
- O(n) : s와 크기가 같은 string 생성