某些算法最好通过将函数重复应用于其自身的输出来执行。
在我的示例中,它将删除匹配的字母对。
例如,如果您有字符串ztWqqWtUU
:
remove_pairs('tWqqWtUU') -> 'ztWWt'
remove_pairs('ztWWt') -> 'z'
remove_pairs('z') -> 'z'
很显然,这可以循环编码,从而记下“最后一个值”并检查其是否已更改。但是有图书馆可以帮我吗?
答案 0 :(得分:1)
您可以执行以下操作:
def remove_all_pairs(string):
new_string = remove_pairs(string)
if new_string == string:
return new_string
else:
return remove_all_pairs(new_string)
这将为您提供所需的递归。