LeetCode125. 验证回文串
题目链接:
125. 验证回文串 - 力扣(LeetCode)
思路分析:先按照题目中的要求把字符串就行修改,然后对于新的字符串,可以使用双指针的方法,两个指针分别从前往后、从后往前的进行比较,如果不相等则直接false。
算法分析:这里用到了双指针,也是一种比较常见的算法思想。
参考代码:
class Solution {
public:bool isPalindrome(string s) {string temp="";//temp表示修正后的字符串int n=s.size();for(int i=0;i<n;++i){//遍历原始字符串sif(s[i]<='Z'&&s[i]>='A'){//是大写字母则保留temp+=s[i];}else if(s[i]<='z'&&s[i]>='a'){//小写字母则修改成大写字母的形式s[i]-=32;temp+=s[i];}else if(s[i]<='9'&&s[i]>='0'){//数字直接添加temp+=s[i];}}n=temp.size();//n修改为新字符串的长度for(int i=0,j=n-1;i<j;++i,--j){//双指针遍历比较一个前一个后if(temp[i]!=temp[j])return false;}return true;}
};