驗證回文串

2022-08-10 05:54:15 字數 1626 閱讀 5715

125. 驗證回文串

難度 ⭐

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。

說明:本題中,我們將空字串定義為有效的回文串。

示例 1:

輸入: "a man, a plan, a canal: panama"

輸出: true

示例 2:

輸入: "race a car"

輸出: false

思路遍歷移除特殊字元,在判斷是否為回文

coding

class solution:

def ispalindrome(self, s: str) -> bool:

#轉換小寫 移除符號和標點

temp = ""

s = s.lower()

for c in s:

if c.isalnum():

temp += c

left,right = 0,len(temp)-1

while left使用正規表示式

#正則class solution:

def ispalindrome(self, s: str) -> bool:

#re.sub(pattern, repl, string)

temp = re.sub(r"[^a-za-z0-9]","", s).lower()

return temp == temp[::-1]

680. 驗證回文字串 ⅱ

難度 ⭐

給定乙個非空字串s最多刪除乙個字元。判斷是否能成為回文字串。

示例 1:

輸入: "aba"

輸出: true

示例 2:

輸入: "abca"

輸出: true

解釋: 你可以刪除c字元。

注意:字串只包含從 a-z 的小寫字母。字串的最大長度是50000。

思路

#判斷是否為回文

def isvalid(temp):

left,right = 0,len(temp)-1

while left時間複雜度

由暴力法的 \(o(n^2)\) 變為 \(o(n)\)

驗證回文串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true示例 2 輸入 race a car 輸出 false個人ac答案 我發現我現在越來越謹慎...

驗證回文串

驗證回文串 題幹 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true示例 2 輸入 race a car 輸出 false解題思路分析以及 ...

驗證回文串

驗證回文串 題目描述 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 分析 最簡...