1. Valid Palindrome
1671 ワード
道しるべ
isalnum():アルファベットと数字を区別するための関数に対応する文字 のみを追加 lower():すべて小文字に変換 pop():最後のインデックス を指定します.
Deque = collections.deque() s[1]:=文字列の先頭または末尾は省略できます. s[:]==両方を省略すると、コピーが返されます. s[1:100]==インデックスが大きすぎる場合は、文字列の最大長のみを表します.
等しい(s[1]) s[:1]=1がデフォルトです. s[:-1]== を反転 s[:2]=2グリッド前に移動します.
リストに変換
class Solution:
def isPalindrome(self, s: str) -> bool:
strs = []
for char in s:
if char.isalnum():
strs.append(char.lower())
//펠린드롬 여부 판별
while len(strs) > 1:
if strs.pop(0) != strs.pop():
return False
return True
データ・ウェアハウスによる最適化
class Solution:
def isPalindrome(self, s: str) -> bool:
strs: Deque = collections.deque()
for char in s:
if char.isalnum():
strs.append(char.lower())
while len(strs) > 1:
if strs.popleft() != strs.pop():
return False
return True
スライドの使用
class Solution:
def isPalindrome(self, s: str) -> bool:
s = s.lower()
//정규식으로 불필요한 문자 필터링
s= re.sub('[^a-z0-9]', '', s)
return s == s[::-1] //슬라이싱 (뒤집기)
文字列のスライド
等しい(s[1])
Reference
この問題について(1. Valid Palindrome), 我々は、より多くの情報をここで見つけました https://velog.io/@corone_hi/1.-Valid-Palindromeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol