做网站引流到天猫,网站服务器租用一年多少钱啊,1369免费版街景地图,网站谁建设的“ xyzyx ”是一个回文字符串#xff0c;所谓回文字符 串就是指正读反读均相同的字符序列#xff0c;如“席主席”、“记书记”、“ aha ”和“ ahaha ”均是回 文#xff0c;但“ ahah ”不是回文。通过栈这个数据结构我们将很容易判断一个字符串是否为回文。 首先我们需… “ xyzyx ”是一个回文字符串所谓回文字符 串就是指正读反读均相同的字符序列如“席主席”、“记书记”、“ aha ”和“ ahaha ”均是回 文但“ ahah ”不是回文。通过栈这个数据结构我们将很容易判断一个字符串是否为回文。 首先我们需要读取这行字符串并求出这个字符串的长度。 解析 #define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includestring
#includemap
#includevector
#includequeue
#includealgorithm
using namespace std;int main()
{char a[101], s[101];int i, len, mid, next, top;cin a; //读入一行字符串len strlen(a); //求字符串的长度mid len / 2 - 1; //求字符串的中点//这里中点的意思是中间对称的点之前的位置top 0;//栈的初始化//将mid前的字符依次入栈for (i 0; i mid; i)s[top] a[i];//判断字符串的长度是奇数还是偶数并找出需要进行字符匹配的起始下标 if (len % 2 0)next mid 1;elsenext mid 2;//开始匹配for (i next; i len - 1; i){if (a[i] ! s[top])break;top--;}//如果top的值为0则说明栈内所有的字符都被一一匹配了if (top 0)printf(YES);elseprintf(NO);getchar(); getchar();return 0;
}//可以输入以下数据进行验证。
//ahaha
//运行结果是
//YES 补充 #define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includestring
#includemap
#includevector
#includequeue
#includealgorithm
#includestring.h
using namespace std;int main()
{string a;char s[101];//string字符串必须直接插入不能直接使用string赋值所以改用charint top 0, next, mid, len;cin a;//len strlen(a); err//char类型才可以//c用lengthlen a.length();mid len / 2 - 1;for (int i 0; i mid; i){s[top] a[i];//使用下标1作为 起始目的就是为了后面top为0时直接判定为回文输出结果}if (len % 2 0)next mid 1;elsenext mid 2;for (int i next; i len - 1; i)//len-1而不是len是因为i本身也算一次.{if (a[i] ! s[top])break;top--;}//算法挺巧妙的奇数的时候那么中间的数是不加入比对的。//而偶数的时候就会让中间的数和下一位数进行比对如此反复//如111111//3与45与26与1也就是一个不对都是错的if (top 0)cout YES;elsecout NO;return 0;
}