自己做的网站很慢,网络营销软件程序属于,怎样学装修设计快速入门,绍兴建设网站制作题目#xff1a;设称正读和反读都相同的字符序列为“回文”#xff0c;例如#xff0c;“abba“和“abccba”是“回文”#xff0c;“abcde”和“ababab”则不是“回文“#xff0c;试写一个算法#xff0c;判别读入的一个以为结束符的字符序列是否是“回文”。 主要思想…题目设称正读和反读都相同的字符序列为“回文”例如“abba“和“abccba”是“回文”“abcde”和“ababab”则不是“回文“试写一个算法判别读入的一个以为结束符的字符序列是否是“回文”。 主要思想把前一半元素压入堆栈后一半元素还存在string里之后使用栈一个一个弹出进行匹配。 #include iostream
#include stack
using namespace std;int main()
{stack char stk; //直接使用C高级API创建一个字符堆栈string a;coutinput a string:;int len 0;int mid 0;int flg 1;char e;cine;while(e!) //遇到 停止输入{a e;cine;}len a.length();coutlen lenendl;mid len/2; //获得中点的index奇偶后面再讨论for(int i0; imid; i) //将终点前所有元素压入堆栈{stk.push(a[i]);}if(len%2 ! 0) //判断奇偶若为奇则从中点的下一个节点开始匹配若为偶则不变很好理解{mid mid1;}for(int imid; ilen; i) //进行匹配top返回栈最上面的元素{coutstk.top()--a[i]endl;if(stk.top()!a[i]){cout不是回文endl;flg 0;break;}stk.pop(); //将最上面的元素弹出}if(flg 1){cout是回文endl;}return 0;
}