[本文出自天外归云的博客园]
回文字符串介绍
回文字符串就是对称的字符串,例如:
“ABA”
“ABBA”
“ABCBA”
题目
给定一个字符串,请发明一种方法,让字符串中不包含回文字符串。
我的解法
代码如下:
class NoHuiwen(object): def __init__(self, _str): self._str = _str self.ret = "" def no_huiwen(self): for i in self._str: self.ret += i self.kill_huiwen(self.ret) print("最终结果:"+self.ret) def kill_huiwen(self,ret): _len = len(ret) print(ret) if _len == 1: pass else: for i in range(0,len(ret)): _str = ret[i:len(ret)] print("_str:"+_str) if self.judge_huiwen(_str): self.ret = self.ret[:-1] break def judge_huiwen(self,_str): if len(_str) >= 2: _len = len(_str) if _len % 2 == 0: qianban = _str[0:_len//2] houban = _str[_len//2:_len] else: qianban = _str[0:_len//2] houban = _str[(_len//2)+1:_len] print("qianban:"+qianban) print("houban:"+houban) if qianban == houban[::-1]: return True else: return False else: return False if __name__ == '__main__': _str = "123443absba2345467876" f = NoHuiwen(_str) f.no_huiwen()
运行结果: