永春县建设局网站,网站后台更新栏目后 网站,网站建设及运行情况介绍,青岛做外贸网站的公司如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。
字母和数字都属于字母数字字符。
给你一个字符串 s#xff0c;如果它是 回文串 #xff0c;返回 true #xff1b;否则#…如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。
字母和数字都属于字母数字字符。
给你一个字符串 s如果它是 回文串 返回 true 否则返回 false 。
思路一双指针
bool isPalindrome(char * s){int i 0,j 0;while(s[i]){if(s[i] 48 s[i] 57)s[j] s[i];else if(s[i] 65 s[i] 90){s[i] 32;s[j] s[i];}else if(s[i] 97 s[i] 122)s[j] s[i];i;}int left 0,right j - 1;while(left right){if(s[left] ! s[right])return false;left;right--;}return true;
}分析
本题先将字符串转化为数字再用双指针的方法左右指针不断向中间靠判断两个指针位置数是否相等即可判断字符串是否为回文串本题转换字符串的时候需要注意不能直接转换为数字若直接转换测试用例中0p因为0p转换后的数相同会输出错误答案
总结
本题考察对字符串的操作利用双指针从两边不断向中间判断字符是否相同即可得到答案