编程题
### 问题描述 在一个寂静的夜晚,侦探基德收到了一封神秘的信件。信件中充满了让人费解的小写英文字母构成的字符串 $s$。基德注意到,这些字符串可能隐藏着某种秘密。他的直觉告诉他,这些字符串可能是某种回文的变形。但是,为了确认他的猜测,基德需要你的帮助。 你的任务是判断每个字符串 $s$ 是否能通过仅删除一个字符,使其变成回文字符串。注意,删除字符后的字符串的大小将比原来少 $1$。 ### 输入格式 输入的第一行包含一个整数 $T$,表示测试用例的数量。 接下来的 $T$ 行,每行都包含一个字符串 $s$。 数据保证: - $1 \leq T \leq 5$。 - $2 \leq |S|\leq 10^5$,$|S|$ 表示字符串 $S$ 的长度。 - 字符串 $s$ 仅包含小写英文字母(即,从 'a' 到 'z')。 ### 输出格式 对于每个测试用例,如果可以通过删除一个字符使字符串 $s$ 变成回文字符串,输出 "YES",否则输出 "NO"。 ### 样例输入 ```plaintext 4 aaa abc abdbca abba ``` ### 样例输出 ```plaintext YES NO YES YES ``` ### 说明 对于样例 $1$,删除任何一个 'a',结果字符串是 "aa",这是一个回文字符串。 对于样例 $2$,无法通过删除一个字符得到回文字符串。 对于样例 $3$,删除 'c',结果字符串是 "abdba",这是一个回文字符串。 对于样例 $4$,删除 'b',结果字符串是 "aba",这是一个回文字符串。
查看答案
赣ICP备20007335号-2