我尝试实现置换算法。
但是我对这个算法中递归的问题
排列功能:
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语句之后继续执行。