使用回溯法,思考啊。。大概是所有全排列形成的过程是这样。以1,2,3的全排列为例。
class Solution(object):
def permute(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res = []
len_n = len(nums)
def helper(nums, tmp):
if len(nums) == 0:
res.append(tmp)
for i in range(len(nums)):
helper(nums[0:i] + nums[i+1:], tmp + [nums[i]])
helper(nums, [])
return res