题目:
全排列:给定一个 没有重复 数字的序列,返回其所有可能的全排列。
思路:
使用回溯算法的模板。
程序:
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