题目:
题目链接: https://leetcode-cn.com/problems/permutations/
解题思路:
回溯 + 剪枝
大致思路类似39题,链接: https://blog.csdn.net/songyuwen0808/article/details/105126115
代码实现:
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
def create_res(nums, path, res):
if 0 == len(nums):
res.append(path[:])
return
for index in range(0, len(nums)):
new_nums = nums.copy()
path.append(new_nums[index])
del new_nums[index]
create_res(new_nums, path, res)
path.pop()
res = []
create_res(nums, [], res)
return res