算法设计--判断字符串是否是回文?

判断字符串是否是回文?

思路一:  直接通过循环i(循环字符串长度的一半次),比较第一个字符和最后一个字符是否相同,第二个字符和倒数第二个字符是否相同,直到循环结束 。
         即比较 a[i] = a[len - 1 - i] (i=0;i          
思路二:  借用另一个新的字符串,将原字符串的倒序赋给新的字符串,让两个字符串进行比较,即可判断出该字符串是否为回文. 

 

 

思路一
参考代码:
 
#include
#include
using namespace std;
int main()
{
	string a;
	cin>>a;
	int len=a.size();
	for(int i=0;i
#include 
using namespace std;

bool panduan(string a) {
	string str = a;
	int len = a.size();
	char temp;
	for (int i = 0; i < len / 2; i++) {
		temp = a[i];
		a[i] = a[len - 1 - i];
		a[len - 1 - i] = temp;
	}
	if (str == a) {
		return true;
	}
	else {
		return false;
	}
}
int main(void) {
	string a;
	cin >> a;
	if(panduan(a) )
	cout <<"该字符串是回文"<< endl;
	else
	 cout <<"该字符串不是回文"<< endl;
	return 0;
}

 

你可能感兴趣的:(算法设计--判断字符串是否是回文?)