openjudge 1.7.33 判断字符串是否为回文


解题思路:

1.由题意得,判断一个字符串是否为回文字符串,首先明白回文字符串是什么概念,是正着和反着完全一样的字符串,那么首先想到的就是,将字符串倒序依次将每个字符放入一个新的字符数组,然后和原字符串依次判断每个位置上的字符是否相等,如果相等,即为回文字符串

2.这里介绍的是第二种方法,可以根据位置的特性来判断,如果是string的话,第一个字符和最后一个字符加起来总是长度-1的值,所以可以得到a[i]==a[len-1-i]的话,即对应的位置相等,遍历的范围到字符串的中间即可


#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	cin>>a;

	for(int i=0;i<=(a.length()-1)/2;i++)
	{
		if(a[i]==a[a.length()-1-i])//如果当前位置的字符和后面对应的字符相等 
		continue;//继续判断 
		else
		{
			cout<<"no";//如果有一项不相等,则输出no,结束程序 
			return 0; 
		}
	}

	cout<<"yes";
	return 0;
}
经验分享 程序员 微信小程序 职场和发展