Leetcode练习(Python):回溯算法类:第46题:全排列:给定一个 没有重复 数字的序列,返回其所有可能的全排列。

题目:
全排列:给定一个 没有重复 数字的序列,返回其所有可能的全排列。
思路:
使用回溯算法的模板。
程序:
class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        result = []
        auxiliary = []
        def backtrack(nums, auxiliary, result):
            if len(auxiliary) == len(nums):
                result.append(auxiliary[:])
                return 
            for index in range(len(nums)):
                if nums[index] in auxiliary:
                    continue
                auxiliary.append(nums[index])
                backtrack(nums, auxiliary, result)
                auxiliary.pop()
        backtrack(nums, auxiliary, result)
        return result
posted on 2020-05-09 10:54  桌子哥  阅读(1627)  评论(0编辑  收藏  举报