n = 3
# all 为栈模型
all = []
def dfs(flag_list, layer, all):
if layer == n:
print(all)
for i in range(n):
if flag_list[i] == 0:
flag_list[i] = 1
# 第layer层存什么数
all.append(i + 1)
# 递归第layer+1层是什么
dfs(flag_list, layer + 1, all)
flag_list[i] = 0
# all.remove(i + 1)
all.pop()
flag_list = [0 for i in range(n)]
dfs(flag_list, 0, all)
全排列-python递归解法
最新推荐文章于 2022-02-26 21:07:16 发布