No46. Permutations 排列 (Python)

題目:

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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章