# 利用雙指標,一次遍歷,求出結果class solution:
def ispalindrome(self, s: str) -> bool:
# 定義變數,接收字串的長度
length = len(s)
# 長度小於等於1直接返回真
if length <= 1:return true
# 定義兩個指標, 分別指向字串頭和尾
index1,index2 = 0,length - 1
while index1 <= index2:
# 判斷字元是否為字母或者數字
if not s[index1].isalnum():
index1 += 1
continue
if not s[index2].isalnum():
index2 -= 1
continue
# 判斷兩個字元是否相同
if s[index1].lower() != s[index2].lower():
return false
index1 += 1
index2 -= 1
return true
a = solution()
print(a.ispalindrome("a man, a plan, a canal: panama"))
print(a.ispalindrome(""))
print(a.ispalindrome("qq"))
print(a.ispalindrome("race a car"))
125 驗證回文串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true示例 2 輸入 race a car 輸出 false解題思路 1 篩選字串,只留下數字和...
125 驗證回文串
125.驗證回文串 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false class ...
125 驗證回文串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false string的size 函式和l...