周四打卡

zeyangshuaige / 2023-05-04 / 原文

问题描述:

本题要求输入一个字符串,判断该字符串是否为回文串。如果该字符串是回文串,则输出YES,否则输出NO。保证字符串长度小于1000。

设计思路:

首先需要从用户处获取输入的字符串,然后对该字符串进行遍历,将其逆序存储并与原字符串进行比较,如果两者相等则该字符串为回文串,否则不是。应该使用循环结构和条件语句实现。

程序流程图:

 
开始
获取用户输入字符串str
将其逆序存储到字符串rev_str
如果str等于rev_str
    输出YES
否则
    输出NO
结束

代码实现:

#include <iostream>
#include <string>
using namespace std;
int main() {
    string str, rev_str;
    cin >> str;
    int len = str.length();
    for (int i = len - 1; i >= 0; i--) {
        rev_str += str[i];
    }
    if (str == rev_str) {
        cout << "YES" << endl;
    } else {
        cout << "NO" << endl;
    }
    return 0;
}