这个需要考虑几种情况:
1 2 3 4 5 3 2 1 可以1 2 4 3 5 3 2 1 可以1 2 4 3 3 5 2 1 不可以1 2 3 4 4 3 2 1 可以1 2 3 5 3 2 1 可以1 2 4 5 3 2 1 不可以1 2 4 4 3 2 1 可以1 3 4 4 3 2 1 可以或者用土办法想 ,插入数有俩个纬度,1,单数会变成偶数,偶数会变成单数
2,插入的位置 只有左半部,中间,右半部
所以要让填完之后的字符串变成回文,也就是左右相等。
所以从头开始比对,发现不一样的,就insert。然后判断是不是回文就可以了
所以我们的函数内可以这么写:
def panduan(str1): from copy import deepcopy li = List(str1) state = False if li == li[::-1]: state = True else: for i in range(len(li)/2): if li[i] != li[-1-i]: liA = deepcopy(li) liA.insert(i, li[-1 - i]) liB = deepcopy(li) liB.insert(-i,li[i]) if liA == liA[::-1]: print 'liA:',''.join(liA) state = True if liB == liB[::-1]: print 'liB:',''.join(liB) state = True return stateprint panduan("12345421")
总结
以上是内存溢出为你收集整理的python判断是否可以只插一个字符,让字符串变成回文,返回true/false全部内容,希望文章能够帮你解决python判断是否可以只插一个字符,让字符串变成回文,返回true/false所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)