回文串
题目描述
给定一个字符串,问是否能通过添加一个字母将其变为回文串。
输入描述:
一行一个由小写字母构成的字符串,字符串长度小于等于10。
输出描述:
输出答案(YESNO).
示例1
输入
coco
输出
YES
牛客网题解:
在其它地方看到一种思路:既然能通过增加一个字符变成回文串,那一定也可以通过删除一个字符变成回文串。用一个循环,每次循环依次删掉一个字符,然后检查新串是否是回文串,看起来简单方便许多。
1
2
3
4
5
6
7
|
for ( int i = 0; i < strlen (s); i++) { strcpy (tmp, s); for ( int j = i; j < strlen (s); j++) tmp[j] = tmp[j+1]; // 删掉tmp[j],把后面的向前移动 if (tmp is 回文串) return true ; } |