给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。
def permute(nums):
track,self.res=[],[]
self.backtrack(nums,track)
return self.res
# 路径:记录在 track 中
#选择列表:nums 中不存在于 track 的那些元素
#结束条件:nums 中的元素全都在 track 中出现
def backtrack(self,nums,track):
if len(track)==len(nums):
self.res.append(track[:])
return
for i in range(len(nums)):
if nums[i] in track:continue
track.append(nums[i])
self.backtrack(nums,track)
track.pop()
标签:排列,nums,--,res,self,backtrack,len,Python,track
From: https://blog.51cto.com/u_15944471/6192515