您的位置:首页 > 其它

算法练习 17:回文串

2018-03-18 13:36 162 查看
题目描述:
给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”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];

--------------------------------------------------------------------------------------------------------------------------------详细内容请关注公众号:目标检测和深度学习

--------------------------------------------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: