所谓回文字符串,就是一个字符串,从左到右读和从右到左读完全相同的字符串。比如"123321" 、 "aabaa"都是回文,但"123"和"aabb"就不是回文。规定空串为回文。 Solution类中有一个函数isPalindrome,其功能是判断以'@'结尾的字符串s是否为回文,若是返回true,若不是返回false。 请给出函数bool isPalindrome(char *s)的实现。
Solution类声明如下:
class Solution { public: /* * 判断以'@'结尾的字符串s是否为回文。 * 如果是回文,返回true;不是回文,返回false。 */ bool isPalindrome(char *s); };
请实现Solution类的成员函数isPalindrome。
裁判测试程序样例:
#include <iostream> using namespace std; class Solution { public: /* * 判断以'@'结尾的字符串s是否为回文。 * 如果是回文,返回true;不是回文,返回false。 */ bool isPalindrome(char *s); }; int main() { Solution obj; char ss[100]; cin >> ss; if (obj.isPalindrome(ss)) { cout << "YES\n"; } else { cout << "NO\n"; } return 0; } /* 你的代码将被嵌在这里 */
输入样例1:
aabaa@
输出样例1:
YES
输入样例2:
aabb@
输出样例2:
NO
实现代码如下:
bool Solution::isPalindrome(char *s) { int l,i; for(l=0;s[l];l++); for(i=0;i<l-2;i++,l--) if(s[i]!=s[l-2]) return false; return true; }