給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。
說明:本題中,我們將空字串定義為有效的回文串。
示例 1:
輸入: 「a man, a plan, a canal: panama」
輸出: true
示例 2:
輸入: 「race a car」
輸出: false
c++版本
class solution {
public:
bool ispalindrome(string s) {
if(s.size()<=0)return true;
int i =0;
int j=s.size()-1;
while(i思路:分別從字串頭尾進行驗證,非數字和字母的跳過,直到驗證完字串
其中isalnum() isalpha() isdigit()函式分別為判斷字元是否為數字字母、字母、數字
tolower() 和toupper()函式分別為變小寫和變大寫。
python版本
class solution:
def ispalindrome(self, s: str) -> bool:
if (len(s)<=1):return true
str1=""
for char in s:
if char.isalnum():
str1+=char.lower()
return str1==str1[::-1]
思路:取出字串中的數字和字母再進行驗證其中python中.lower()和.upper()為將字串變小寫和變大寫函式,.isdigit()、.isalpha()和.isalnum()函式均為判斷字串的。
LeetCode 驗證回文字串
給定乙個非空字串s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。思路 雙指標 當不相等的時候 左指標跳過乙個或者右指標跳過乙個 ...
Leetcode 驗證回文字串。
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫 說明 本題中,我們將空字串定義為有效的回文串 1.先將字串變為小寫,因為本題忽略了字母的大小寫。2.利用字元的ascii值進行驗證 3.採用雙指標的辦法,乙個指向頭,乙個指向尾,同時向中間靠攏,過程中兩指標指向目標不相等則...
leetcode 驗證回文字串 python3
方案一 一般方法 分奇數偶數來說,方法比較一般 import string 給join傳遞入參時計算符合條件的字元,去掉標點符號 b join c for c in s if c not in string.punctuation 把空格去掉 b b.replace 小寫b b.lower l le...