zoukankan      html  css  js  c++  java
  • LeetCode#125 Valid Palindrome

    Problem Definition:

    Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

    For example,
    "A man, a plan, a canal: Panama" is a palindrome.
    "race a car" is not a palindrome.

    Note:
    Have you consider that the string might be empty? This is a good question to ask during an interview.

    For the purpose of this problem, we define empty string as valid palindrome.

     
    Solution 1: Using regular expression.
    1 def isPalindrome(self, s):
    2         p=re.compile('w')
    3         arr=p.findall(s)
    4         n=len(arr)/2
    5         for i in range(n):
    6             if arr[i].upper()!=arr[n-1-i].upper():
    7                 return False
    8         return True

    Solution 2: A simpler way of using regular expression.

    1 def isPalindrome(self, s):
    2         s = re.sub("[^A-Za-z0-9]", "", s).lower()  #可以换成'W'
    3         return s == s[::-1]

    Solution 3: Just traverse the string.

    1 def isPalindrome(s):
    2         s1 = ''.join(ch for ch in s if ch.isalnum()).lower()
    3         return s1 == s1[::-1]
     
     
  • 相关阅读:
    HDU
    HYSBZ
    HDU
    POJ
    HDU
    HDU
    HDU
    「luogu2680」[NOIp2015] 运输计划
    「luogu1417」烹调方案
    网络(最大)流初步+二分图初步 (浅谈EK,Dinic, Hungarian method:]
  • 原文地址:https://www.cnblogs.com/acetseng/p/4663947.html
Copyright © 2011-2022 走看看