【leetcode 46】 全排列
作者:互联网
回溯法框架:
result = []
def backtrack(路径, 选择列表):
if 满足结束条件:
result.add(路径)
return
for 选择 in 选择列表:
做选择
backtrack(路径, 选择列表)
撤销选择
实现:
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
self.ans = []
def backtrace(nums,path):
if not nums:
self.ans.append(path)
for i in range(len(nums)):
backtrace(nums[:i]+nums[i+1:],path+[nums[i]])
backtrace(nums,[])
return self.ans
标签:排列,nums,46,backtrace,self,List,ans,path,leetcode 来源: https://www.cnblogs.com/wangshujaun/p/14032622.html