R7-6 字符串对称
编写一个算法利用顺序栈判断一个字符串是否是对称串。所谓对称串是指从左向右读和从右向左读的序列相同。
输入格式:
输入一个无空格的字符串。
输出格式:
如果该字符是对称的,输出yes,否则输出no。
输入样例:
在这里给出一组输入。例如:
abba
输出样例:
在这里给出相应的输出。例如:
yes
输入样例:
在这里给出一组输入。例如:
abcd
输出样例:
在这里给出相应的输出。例如:
no
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cin >> s;
int n = s.length();
string s1 = s.substr(0, n / 2);
string s2 = "";
if (n % 2 == 0) {
s2 = s.substr(n / 2, n);
}
else {
s2 = s.substr(n / 2 + 1, n);
}
string rs2 = "";
for (int i = s2.length() - 1; i >= 0; i--) {
rs2 += s2[i];
}
cout << (s1 == rs2 ? "yes" : "no");
return 0;
}