【leetcode20】

46. 全排列

  1. class Solution:
  2.     def permute(self, nums: List[int]) -> List[List[int]]:
  3.         def f(nums,path,used,res):
  4.             if len(nums)==len(path):
  5.                 res.append(path[:]) # 将 path 的副本添加到 res 中
  6.                 return
  7.             for i in range(len(nums)):
  8.                 if used[i]:
  9.                     continue
  10.                 used[i]=True
  11.                 path.append(nums[i])
  12.                 f(nums,path,used,res)
  13.                 used[i]=False
  14.                 path.pop()
  15.         res=[]
  16.         f(nums,[],[False]*len(nums),res)
  17.         return res

发表评论