[LeetCode] 125. Valid Palindrome(有効なパリン症候群)


🔦 質問リンク
🔊 파이썬 알고리즘 인터뷰冊の本を参考にしました.
文字列が空であるかどうかを確認します(文字列は大文字と小文字を区別しないアルファベットと数字で構成されています).
▼▼▼▼草
  • 文字列は大文字と小文字を区別しない영문자숫자なので、残りは外に並んでいます.
  • に並ぶ前半-中央-後半の比較文字は、同じならパリンドロンではなく文字列です.
  • 🛠 コード#コード#
    これは
  • リストに対して要素前後検査を行う最も基本的な解法である.
  • class Solution:
        def isPalindrome(self, s: str) -> bool:
            li = []
            for c in s:
                if c.isalnum():
                    if c.isalpha():
                        c = c.lower()
                    li.append(c)
    
            for i in range(int(len(li) / 2)):
                if li[i] != li[len(li) - 1 - i]:
                    return False
            return True
    ▼▼他人解
    これは
  • の正規式によって得られた非常に簡単な解法である.
  • 🛠 他者コード
        def isPalindromeBySlicingAndRE(self, s: str) -> bool:
            s = s.lower()
            # 정규식 활용
            s = re.sub('[^a-z0-9]', '', s)
    
            return s == s[::-1]
    📝 整理する
  • 文字列を使用して
  • をスライド
  • re用法
  • 🎈 リファレンス
    ブックリンク