测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A24157. 回文字串

填空题 中等

题目描述

回文字串

题目描述

输入一串字符,字符个数不超过100,且以“.”结束。 判断它们是否构成回文。

输入

一行字符串。

输出

是否为回文串。是输出“Yes”,否输出“No。”

输入样例

abccb

输出样例

No

参考答案

#include <bits/stdc++.h> using namespace std; int main() { char s[105], r[105];//r:逆序字符串 cin >> s; int len = strlen(s) - 1;//去掉末尾'.' s[len] = '\0'; for(int i = 0; i < len; ++i)//构造逆序字符串 r[len-1-i] = s[i]; r[len] = '\0'; cout << (strcmp(s,r) == 0 ? "Yes" : "No");//判断原字符串和逆序字符串是否相同 return 0; }

答案解析


#include <bits/stdc++.h>
using namespace std;
int main()
{
    string s, r;//r:逆序字符串 
    cin >> s;
    s.pop_back();//去掉末尾'.' 
    r = s;//复制s到r
    reverse(r.begin(), r.end());//将r前后翻转
    cout << (s == r ? "Yes" : "No");//判断原字符串和逆序字符串是否相同 
    return 0;
}


上一题 下一题