#35. 回文校验器
回文校验器
题目描述
小蓝最近在学习字符串知识。他定义了一个“完美回文串”:一个非空字符串,如果正着读和倒着读完全一样,则称为回文串;如果该回文串的长度是偶数,且中间两个字符相同,则称为“完美回文串”。
例如:
"aba"是回文串,但长度是奇数,不是完美回文串。"abba"是回文串,长度是偶数,中间两个字符都是'b',所以是完美回文串。"aaaa"是回文串,长度是偶数,中间两个字符都是'a',所以是完美回文串。"abca"不是回文串(因为a != c),所以不是完美回文串。
现在给你一个小写英文字母组成的字符串 ,请你判断它是否是“完美回文串”。如果是,输出 YES;否则,输出 NO。
输入格式
第一行包含一个整数 ,表示测试数据的组数。 接下来 行,每行包含一个小写英文字母组成的字符串 。
输出格式
对于每组数据,输出一行:
- 如果 是完美回文串,输出
YES; - 否则,输出
NO。
样例
5
abba
aba
aaaa
abc
aa
YES
NO
YES
NO
YES
样例解释
- 第 1 组:
"abba"是回文串,长度为 4(偶数),中间两个字符都是'b',所以输出YES。 - 第 2 组:
"aba"是回文串,但长度为 3(奇数),所以输出NO。 - 第 3 组:
"aaaa"是回文串,长度为 4(偶数),中间两个字符都是'a',所以输出YES。 - 第 4 组:
"abc"不是回文串,所以输出NO。 - 第 5 组:
"aa"是回文串,长度为 2(偶数),中间两个字符都是'a',所以输出YES。
数据范围与提示
- 所有测试点中
- 字符串 仅由小写英文字母组成。
提示:
- 首先判断字符串是否是回文串。如果不是,直接输出
NO。 - 如果是回文串,再检查长度是否为偶数。如果是奇数,输出
NO。 - 如果长度是偶数,检查中间两个字符是否相同。如果相同,输出
YES;否则,输出NO。
相关
在下列比赛中: