https://leetcode-cn.com/problems/valid-palindrome/
解法1:双指针
思路:
先将字符串中字母全部转换为小写,然后将其中的字符和数字写入到新的字符串,然后左右指针进行比较
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Solution { public: bool isPalindrome(string s) { int n=s.size(); transform(s.begin(),s.end(),s.begin(),::tolower); string str=""; for(int i=0;i<n;i++) { if('a'<=s[i]&&s[i]<='z'||'0'<=s[i]&&s[i]<='9') str+=s[i]; } int i=0,j=str.length()-1; while(i<j) { if(str[i]!=str[j]) return false; i++; j--; } return true; } };
|