Leetcode-125. 验证回文串

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;
}
};