leetcode-python-全排列

1)开挂调库

import itertools
class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        n = len(nums)
        result = []
        for i in itertools.permutations(nums,n):
            result.append(list(i))
        return result

2)回溯+DFS

import itertools
class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        res = []
        def dfs(tmp, nums):
            if not nums:
                res.append(tmp)
            
            for i, x in enumerate(nums):
                dfs(tmp + [x], nums[:i] + nums[i + 1:])
                
        dfs([], nums)
        return res

 

posted @ 2021-06-26 15:30  泊鸽  阅读(62)  评论(0)    收藏  举报