0.前言
判断字符串是否是回文?
思路一: 直接通过循环i(循环字符串长度的一半次),比较第一个字符和最后一个字符是否相同,第二个字符和倒数第二个字符是否相同,直到循环结束。
即比较 a[i] = a[len - 1 - i] (i=0;i<len/2;i++),全部相同即为回文。不同即不是回文。
思路二: 借用另一个新的字符串,将原字符串的倒序赋给新的字符串,让两个字符串进行比较,即可判断出该字符串是否为回文。
思路1—参考代码
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string a;
cin>>a;
int len=a.size();
for(int i=0;i<len;i++)
if (a[i]!=a[len-1-i])
{cout<<"给定字符串不是回文"<<endl;return 0; }
cout<<" 给定字符串是回文"<<endl;
return 0;
}
思路2—参考代码
#include <iostream>
#include <cstring>
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;
}
完成+1 …