算法练习 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];
--------------------------------------------------------------------------------------------------------------------------------详细内容请关注公众号:目标检测和深度学习
--------------------------------------------------------------------------------------------------------------------------------
给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”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];
--------------------------------------------------------------------------------------------------------------------------------详细内容请关注公众号:目标检测和深度学习
--------------------------------------------------------------------------------------------------------------------------------
相关文章推荐
- 算法练习(17):Wildcard Matching
- 剑指offer-算法题练习:part17 反转链表
- 算法练习3
- [算法练习]选择排序的C语言实现
- Manacher算法,最长回文串,时间复杂度O(n)
- 剑指offer-算法题练习:part20 二叉树的镜像
- SSH与SSM学习之SSH实现CRM练习17——添加客户拜访记录和列表
- 2018年全国多校算法寒假训练营练习比赛(第四场)题解
- 算法期中练习——1004. 拓扑序
- 算法(第四版)课后练习 1.3.29
- 算法设计与应用基础系列17
- 算法分析与设计课程17——435. Non-overlapping Intervals
- (*)2018年全国多校算法寒假训练营练习比赛(第四场)D-小明的挖矿之旅(思路)
- 算法竞赛入门经典题目练习
- 算法练习--二分搜索哈希表-JS 实现
- 算法练习10
- 算法练习2.Add Two Numbers 反向小数链表表示相加
- 算法导论17:摊还分析学习笔记(KMP复杂度证明)
- 2018年全国多校算法寒假训练营练习比赛(第五场) C 字符串的问题(substr,find的用法)
- 算法练习(42):Best Time to Buy and Sell Stock II