#1300. 超级回文串
超级回文串
week1-超级回文串
题目背景
前置知识:判断一个字符串是否为回文串。
题目描述
对于一个字符串 ,其被称作回文串,当且仅当这个字符串从左往右读和从右往左读都是相同的。例如 abcd
不是回文串,而 abba
是回文串。
我们现在规定,一个字符串 为超级回文串,当且仅当(定义 为字符串长度):
- 本身为回文串
- 如果 为偶数,则这个字符串的前 个字符原顺序排列的字符串为回文串;这个字符串的后 个字符原顺序排列的字符串也为回文串。
- 如果 为奇数,则这个字符串的前 个字符原顺序排列的字符串为回文串;这个字符串的后 个字符原顺序排列的字符串也为回文串。
例如:abba
不是超级回文串,虽然它是回文串,但是 ab
和 ba
不是回文串;abaaba
是超级回文串,它自身是回文串,而且 aba
和 aba
都是回文串。因此,abadaba
是超级回文串。
现在给了你一个字符串 ,请问这个字符串是否为超级回文串。
输入格式
首先输入一个正整数 ,表示有 个字符串。
接下来 行,每行输入一个字符串 。
输出格式
共输出 行。若第 个字符串为超级回文串,则输出 Yes
,否则输出 No
。
样例 #1
样例输入 #1
4
abcd
abba
abaaba
abadaba
样例输出 #1
No
No
Yes
Yes
提示
样例解释:
样例 已经在题面中得到解释。
样例 符合前 数据的条件。
样例 符合下述条件:, 仅由大小写字母和数字组成。
对于 的数据,,且字符串仅由数字组成,且不为 开头。
对于所有数据,,, 仅由大小写字母和数字组成。