給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。
說明:本題中,我們將空字串定義為有效的回文串。
示例 1:
輸入: "a man, a plan, a canal: panama"
輸出: true
示例 2:
輸入: "race a car"
輸出: false
思路:
1、由於不區分大小寫,所以將所有字元轉為大寫,方便後面的比較
2、找出所有的數字字元與字母字元,構成乙個新的字串
3、將新字串轉為字元陣列,首尾逐對比較是否相等(只要存在一對字元不相同,則返回false)
class solution
string string= s.touppercase();//將所有字元轉為大寫
stringbuilder str = new stringbuilder();
char str_arr=string.tochararray();
for(int i=0;i= '0' && str_arr[i] <= '9') || (str_arr[i] >= 'a' && str_arr[i] <= 'z'))
}char chararray =str.tostring().tochararray();
int start=0;
int end=str.length()-1;
while(startelse
}return true;
}}
力扣 驗證回文字串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 解法一 篩選和判斷 把字串轉換為...
LeetCode 力扣 125 驗證回文串
判斷乙個字串是否是回文串,忽略掉除了字母和數字外的字元。兩個指標,乙個指標從頭進行,乙個指標從尾部進行。依次判斷兩個指標的字元是否相等,同時要跳過非法字元。需要注意的是,兩個指標不用從頭到尾遍歷,當兩個指標相遇的時候就意味著這個字串是回文串了。還需要注意的是 a a 也就是大寫字母和小寫字母是相同的...
力扣 驗證回文字元 680
一 思想 1 暴力列舉 列舉出每個刪除了單個字元後的字串,並判斷是否是回文。很簡單的思想,但提交後會超時。2 貪心思想 採用雙指標判斷回文,low 0,high s.size 1,1 如果是s low s high 那麼繼續判斷 low high 2 當 s low s high 時判斷剩下的字串刪...