33:判断字符串是否为回文

总时间限制: 1000ms 内存限制: 65536kB
描述
输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。

输入
输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。
输出
如果字符串是回文,输出yes;否则,输出no。
样例输入
abcdedcba
样例输出
yes

代码

#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main(){
	string str;
	cin>>str;
	
	char ch[110];                        //使用栈的先进后出的特性 
	int top=-1;
	
	for(int i=0;i<str.size();i++){
		ch[++top]=str[i];
	}
	
	for(int i=0;i<str.size()/2;i++) {    //比较一半的字符串就可以了
		if(ch[top]!=str[i]){             //存在不相等的字符,不是回文串 
			cout<<"no";
			return 0;
		}
		top--;
	}
	
	cout<<"yes";                         //前半部分与后半部分(逆序)一样,是回文串 
	return 0;
}
发布了36 篇原创文章 · 获赞 0 · 访问量 359

猜你喜欢

转载自blog.csdn.net/weixin_44437496/article/details/103979355