class Solution(object):
def permute(self, nums):"""
:type nums: List[int]:rtype: List[List[int]]"""
path =list()
result =list()
def backtracking(nums):iflen(path)==len(nums):
result.append(path[:])returnfor i in range(0,len(nums)):
# 这种方式只适合无重复的数组,还是加个used数组好用,适合无重复/重复的数组
if nums[i] in path:continue
path.append(nums[i])backtracking(nums)
path.pop()backtracking(nums)return result
class Solution(object):
def permute(self, nums):"""
:type nums: List[int]:rtype: List[List[int]]"""
path =list()
result =list()
used =[0for _ in range(len(nums))]
def backtracking(nums):iflen(path)==len(nums):
result.append(path[:])returnfor i in range(0,len(nums)):if used[i]:continue
used[i]=1
path.append(nums[i])backtracking(nums)
path.pop()
used[i]=0backtracking(nums)return result