微信扫一扫打赏支持

回文串

回文串

题目描述

给定一个字符串,问是否能通过添加一个字母将其变为回文串。

输入描述:

一行一个由小写字母构成的字符串,字符串长度小于等于10。

输出描述:

输出答案(YES\NO).
示例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;
}

 

posted @ 2017-10-27 15:13  范仁义  阅读(286)  评论(0编辑  收藏  举报