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]
     
     
  • 相关阅读:
    使用基本的socket函数
    ODBC、ADO
    MFC开发ActiveX控件的简介
    MFC线程
    系统API函数实现多线程及线程同步
    IP地址控件
    加速键
    属性页对话框
    Tab控件
    树控件
  • 原文地址:https://www.cnblogs.com/acetseng/p/4663947.html
Copyright © 2011-2022 走看看