题目描述
若一个字符串正向和反向读起来相同,我们则称之为回文串。
(1) 因为字符串"aba"正向和反向读起来都是"aba",所以"aba"是回文串;
(2) 因为字符串"abc"正向读起来是"abc",反向读起来是"cba",所以"abc"不是回文串
输入
第1行为字符串的个数t(1≤t≤1000)
接下来的t行是需要判断的字符串(字符串的最大长度不超过500,字符串中不包含空格)。
输出
t行,若字符串是回文串,则输出YES,否则输出NO
样例
输入
3
aba
abc
1221
输出
YES
NO
YES
参考代码:
字符串转置函数reverse()
string b=s[i];
reverse(b.begin(), b.end());然后再判断s[i]字符串与转置后的字符串是否相同。
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
string s[100];
cin.ignore(); //取消换行键的读入
for(int i =0;i<n;i++)
getline(cin,s[i]);
for(int i=0;i<n;i++){
string b=s[i];
reverse(b.begin(), b.end());
if(s[i]==b){
cout<<"YES"<<endl;
}else cout<<"NO"<<endl;
}
return 0;
}