Python 字符串所有拼接方式 - 递归算法实现
要计算一个字符串的所有拼接方式,可以使用递归的方法。下面是一个示例代码:
def permutations(s, prefix=''):
if len(s) == 0:
print(prefix)
else:
for i in range(len(s)):
permutations(s[:i] + s[i+1:], prefix + s[i])
s = 'abc'
permutations(s)
输出结果为:
abc
acb
bac
bca
cab
cba
这个代码中的 permutations 函数接受两个参数:一个是字符串 s ,另一个是 prefix ,初始时为空字符串。函数首先检查字符串 s 的长度,如果为0,则说明已经完成了一种拼接方式,输出 prefix ,否则,函数通过循环遍历字符串 s 中的每个字符,并将其拼接到 prefix 后面,然后递归调用 permutations 函数,传入更新后的 s 和 prefix 。在每次递归调用之后,循环会继续进行下一个字符的拼接。通过不断地递归调用和循环遍历,可以计算出字符串的所有拼接方式。
原文地址: https://www.cveoy.top/t/topic/pZ8E 著作权归作者所有。请勿转载和采集!