path记录排列的过程,如果长度满足3则达到递归终止条件,记录结果并
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
res = [] #存放符合条件结果的集合
path = [] #用来存放符合条件的结果
def backtrack(nums):
if len(path) == len(nums):
return res.append(path[:]) #此时说明找到了一组
for i in range(len(nums)):
if nums[i] in path:
continue
path.append(nums[i])
backtrack(nums)
path.pop() #回溯
backtrack(nums)
return res