R7-6 字符串对称

Author Avatar
小包
发表:2024-11-03 04:26:28
修改:2024-12-12 15:30:28

编写一个算法利用顺序栈判断一个字符串是否是对称串。所谓对称串是指从左向右读和从右向左读的序列相同。

输入格式:

输入一个无空格的字符串。

输出格式:

如果该字符是对称的,输出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;
}

评论