Given a collection of distinct integers, return all possible permutations.
Example:
Input: [1,2,3] Output: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]
class Solution(object):
def permute(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
self.res=[]
sublists = []
self.dfs(nums,sublists)
return self.res
def dfs(self,nums,sublists):
if len(nums)==len(sublists):
self.res.append(sublists[:])
for m in nums:
if m in sublists:
continue
sublists.append(m)
self.dfs(nums,sublists)
sublists.remove(m)