其他分享
首页 > 其他分享> > 【leetcode 46】 全排列

【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