1 parent 16905d3 commit daccb6cCopy full SHA for daccb6c
1 file changed
LeetCode/Easy/0125-valid-palindrome/0125-valid-palindrome.py
@@ -1,15 +1,22 @@
1
class Solution:
2
def isPalindrome(self, s: str) -> bool:
3
- # 1. 문자열 공백 제거 + 문자/숫자가 아닌거 전부 제거
4
- s = "".join(ch for ch in s if ch.isalnum())
+ # # 리스트 만들고, reverse해서 비교
+ # convert_s = [ch for ch in s.lower() if ch.isalnum()]
5
+ # return convert_s == convert_s[::-1]
6
- # 2. 소문자 변환
7
- s = s.lower()
+ # print(convert_s)
8
9
- # 3. 문자열 뒤집기
10
- reverse_s = s[::-1]
+ # 투포인터
+ start, end = 0, len(s)-1
11
12
- if s == reverse_s:
13
- return True
14
- else:
15
- return False
+ while start < end:
+ while start < end and not s[start].isalnum():
+ start+=1
+ while start < end and not s[end].isalnum():
16
+ end-=1
17
+
18
+ if s[start].lower() != s[end].lower():
19
+ return False
20
21
+ start, end = start+1, end-1
22
+ return True
0 commit comments