回文串
题目来源:【赛码】字符串练习
题目描述:
给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”aa”,”bob”,”testset”是回文串,”alice”,”time”都不是回文串。
输入描述
一行一个有小写字母构成的字符串,字符串长度不超过10。
输出描述
如果输入字符串可以通过添加一个字符,则输出”YES”,否则输出”NO”。
样例输入
coco
样例输出
Yes
题解:
1.如果一个字符串能通过添加一个字母变成回文串,那么它去掉一个字母也就可以变成回文串,遍历删除一位字符,若能得到回文串则满足,否则添加一个字符也不能变成回文串。
let str = read_line();
function ishuiwen(str)
{
for(let i = 0; i < str.length / 2; i++)
{
if(str[i] != str[str.length - i - 1])
return false;
else
return true;
}
}
let flag = false;
if(ishuiwen(str) === true)
print("Yes");
else
{
for(let i = 0; i < str.length; i++)
{
if(ishuiwen(str.substr(0, i) + str.substr(i + 1)))
flag = true;
}
if(flag)
print("Yes");
else
print("No");
}