【发布时间】:2019-09-08 02:28:20
【问题描述】:
我正在尝试从输入列表创建排列。我的递归失败,只带回一个列表,应该有多个。 我不确定我的逻辑有什么问题 - 递归新手。
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
answer, perm = [], []
self.dfs(nums, answer, perm)
return answer
def dfs(self, nums, answer, perm):
if not nums:
answer.append(perm)
for ind, ele in enumerate(nums):
perm.append(ele)
nums.pop(ind)
self.dfs(nums,answer, perm)
预期:[[1,2,3],[2,1,3],[2,3,1],[1,3,2],[3,1,2],[3,2 ,1]] 实际:[[1,2,3]]
【问题讨论】:
标签: python python-3.x recursion backtracking