特别注意path[:]这个坑
class Solution(object):
def permute(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
global res
global path
res = []
path = []
def backtrack(nums):
global res
global path
if not nums:
#这里有个坑,不能写path,否则path变,res里面对应的值也会变,必须写path[:]
res.append(path[:])
return
for i in range(len(nums)):
path.append(nums[i])
temp = nums.pop(i)
backtrack(nums)
nums.insert(i,temp)
path.pop()
return
nums.sort()
backtrack(nums)
return res