基于递归的 python排列算法



我尝试实现置换算法。

但是我对这个算法中递归的问题

排列功能:

def permutations(word):

如何以及为什么它在返回语句后继续工作?

if len(word) == 1:
return [word]

如果最后一次烫发==['3']如何从['3']回到['23']?

perms = permutations(word[1:])
char = word[0]
result = []
for perm in perms:
for i in range(len(perm) + 1):
result.append(perm[:i] + char + perm[i:])
return result

我明白了。基于堆栈的递归。这就是为什么它在return语句之后继续执行。

最新更新