专业的学校网站建设,建什么网站,动易网站开发的主要技术,网站 侧边栏[本文出自天外归云的博客园] 总结一下关于回文相关的算法#xff1a; 判断字符串本身是否是回文返回字符串中的所有子串找到字符串中包含的所有回文判断字符串中是否包含回文将字符串变成一个不包含回文的字符串代码如下#xff1a; # 判断字符串本身是否是回文
def is_huiwe…[本文出自天外归云的博客园] 总结一下关于回文相关的算法 判断字符串本身是否是回文返回字符串中的所有子串找到字符串中包含的所有回文判断字符串中是否包含回文将字符串变成一个不包含回文的字符串代码如下 # 判断字符串本身是否是回文
def is_huiwen(str, i0):# 回文至少长度为2if len(str) 1:return False# 撞针法判断是否是回文字符串while True:if i len(str) - i:return Trueif str[i] ! str[len(str) - i - 1]:return Falsei 1# 返回字符串中所有的子串
all_substr lambda str: [str[i:i x 1] for x in range(len(str)) for i in range(len(str) - x)]# 找到字符串中包含的所有回文
def find_all_huiwen(str, ret[]):substrs all_substr(str)# 遍历字符串中的所有子串并找出所有回文子串for i in range(len(substrs)):if is_huiwen(substrs[i]):ret.append(substrs[i])# 判断字符串中是否包含回文
def contain_huiwen(str):substrs all_substr(str)# 遍历字符串中所有子串并判断字符串中是否包含回文子串for i in range(len(substrs)):if is_huiwen(substrs[i]):return Truereturn False# 将字符串变成一个没有回文的字符串
def no_huiwen(str, ret, i0):# 从字符串的索引第0位开始到字符串索引末位结束while i len(str) - 1:# 确保新生成的字符串不包含回文if not contain_huiwen(ret str[i]):ret str[i]# 逐位判断i 1return retif __name__ __main__:str abccbabcfind_all_huiwen(str)print(contain_huiwen(str))print(no_huiwen(str)) 转载于:https://www.cnblogs.com/LanTianYou/p/9054245.html