leetcode刷題--Valid Palindrome

黃思喆發表於2015-05-13

為了開發智力,開始leetcode刷題了。。。

網上有很多答案,可惜python的基本找不著,只能自己瞎寫寫了。

Valid Palindrome

題目:求一個字串中的數字字母字元是否是迴文

ps:所謂迴文就是正著倒著完全一樣的文字

這道題難度算在easy裡,不過還是有幾個陷阱的,一個是處理特殊符號,一個是處理空字串,還有一個就是字母大小寫。基本思路是:

  1. 把所有符合條件的字元挑出來組成一個用於分析的字串並全部降為小寫字母
  2. 判斷這個新字串是否為空,是就直接返回True
  3. 判斷這個新字串是否是迴文(中間掰開可以對稱)

以下是程式碼:

class Solution:
    # @param {string} s
    # @return {boolean}
    def isPalindrome(self, s):
        l=[i for i in s if i.isalnum()]
        sn="".join(l).lower()
        if not sn:
            return True
        for i in range(len(sn)/2):
            if sn[i]!=sn[len(sn)-i-1]:
                return False

        return True 

相關文章