[アルゴリズム]有効なパリンドロン
5814 ワード
有効なファリンドロン
説明する
class Solution:
def isPalindrome(self, s: str) -> bool:
str = []
for char in s.lower():
if char.isalnum():
str.append(char)
return str == str[::-1]
指定された文字列。lower()を使用して小文字に変換し、isalnum()を使用して各アルファベットと数字を(アルファベットまたは数字)として表示し、リストに個別に格納します。保存したリストが反転したリストと同じである場合、比較を行います。
よい本
def isPalindrome(s: str) -> bool:
# 자료형 데크로 선언
Deque = collections.deque()
for char in s:
if char.isalnum():
Deque.append(char.lower())
while len(Deque) > 1:
if Deque.popleft() != Deque.pop():
return False
return True
リストではなく、Dequeで左右から1つずつ取って対称かどうかを比較します。
def isPalindrome(s: str) -> bool:
s = s.lower()
#정규식으로 문자 필터링
s = re.sub('[^a-z0-9]', '', s)
return s == s[::-1]
アルファベットや数字ではないものを正規表現で取り除きました。
Reference
この問題について([アルゴリズム]有効なパリンドロン), 我々は、より多くの情報をここで見つけました https://velog.io/@injoon2019/알고리즘-유효한-팰린드롬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol