mq051.全排列 Leetcode backtrace Dec 08, 2020 题目链接 试着写了一下之前做过的类似的题用的方法,不过好像效率不太高。 这个算法的时间复杂度是O(N),空间复杂度是O(N)。 class Solution: def permute(self, nums: List[int]) -> List[List[int]]: res = [] def recursion(x): if x == len(nums)-1: cp = copy.deepcopy(nums) res.append(cp) return d = set() for i in range(x, len(nums)): if nums[i] not in d: d.add(nums[i]) nums[i], nums[x] = nums[x], nums[i] recursion(x+1) nums[i], nums[x] = nums[x], nums[i] recursion(0) return res PREVIOUSmq039.验证二叉搜索树NEXTlc112.路径总和