- 输入一个不重复数组作为可选
- 输出全排列组合
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
# 回溯算法
result = []
track = [] # 可行路径
def trackBack(nums_, track_):
if len(track_) == len(nums_): # 满足终止条件
result.append(track_[:])
return
for i in nums_: #所有可选项
if i in track_: # 判断是否可选
continue
track.append(i) # 选择
trackBack(nums_, track_) # 递归
track.pop() # 回溯
trackBack(nums, track)
return result