题目描述:
给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”aa”,”bob”,”testset”是回文串,”alice”,”time”都不是回文串。
算法思路分析:
1、输入字符串str;
2、思考:如果去掉一个字符使得原来字符串为回文串,则在对称位置添加该字符必为回文串;
代码练习:
def isPalindrome(str):
if cmp(str[::-1], str) == 0:
return True
else:
return False
if __name__ == '__main__':
while 1:
str = raw_input()
if isPalindrome(str):
print 'Yes'
else:
flag = True
for i in str:
tmp = str[:str.find(i)] + str[str.find(i) + 1:]
if isPalindrome(tmp):
print 'Yes'
flag = False
break
if flag:
print 'No'
基础知识补充:
1、倒序排列:str[::-1];
--------------------------------------------------------------------------------------------------------------------------------
详细内容请关注公众号:目标检测和深度学习
--------------------------------------------------------------------------------------------------------------------------------