LeetCode Valid Palindrome(驗證迴文字串)
阿新 • • 發佈:2019-01-08
題目:
給定一個字串,判斷其中包含數字和字母的部分是否是迴文字串(忽略大小寫),即判斷該字串是不是正向和反向讀取的結果一致。
解題思路:
本題的解題方法比較暴力直接,先遍歷一遍字串,將字串中的所有非數字和字母的部分刪除,並將所有的大寫字母轉為小寫字母,再設定兩個指標,分別從首尾開始讀取字串,判斷首尾指標讀取的字元是否一致,一致則首尾指標同時向中間移動一個單位繼續讀取,否則中斷迴圈。
解題程式碼(python):
class Solution(object): def isPalindrome(self, s): """ :type s: str :rtype: bool """ s = s.lower() character = "abcdefghijklmnopqrstuvwxyz" num = "0123456789" final = [] for i in s: if i in character or i in num: final.append(i) else: continue i = 0 j = len(final)-1 flag = 0 while(j>i): if final[i]==final[j]: i=i+1 j=j-1 else: flag=1 break if flag==1: return False else: return True