返回首页 返回题库

回文拼接

C++ 简单 GESP三级真题 #字符串#回文判断#枚举

题目描述

题面描述

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,'aabaa'和'ccddcc'都是回文串,但'abcd'不是。

小杨有n个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为2的回文串前后拼接而成。

输入格式

第一行包含一个正整数n,代表字符串数量。

之后n行每行一个仅包含小写字母的字符串。

输出格式

对于每个字符串输出一行,如果该字符串由两个长度至少为2的回文串前后拼接而成则输出Yes,否则输出No。

样例1

输入:

4
abcd
aabbb
aaac
abcdd

输出:

No
Yes
No
No

样例解释

对于第1、3、4个字符串,都不是由两个长度至少为2的回文串前后拼接而成。

第2个字符串由回文串'aa'和'bbb'前后拼接而成,并且两个回文串长度都至少为2。

数据范围

对于全部数据,保证有 1 <= n <= 10,并且每个字符串的长度不超过100。


时间与内存限制

时间限制:1.0 s

内存限制:512.0 MB

💡 查看提示(先自己想一想再看)
本题考察字符串的基本操作、回文串的判断以及枚举分割点的思路。解题时需注意:分割点的范围要保证前后两个子串的长度都至少为2;可以通过将子串反转后与原子串比较来判断是否为回文。
⚙ 开始做这道题 4 人做过 · 4 收藏 · 15 浏览

讨论(0)