47. 全排列 II

47. 全排列 II

  1. class Solution:
  2.     def permuteUnique(self, nums: List[int]) -> List[List[int]]:
  3.         res=[]
  4.         path=[]
  5.         used=[False]*len(nums)
  6.         def bt():
  7.             if len(path)==len(nums):
  8.                 res.append(path[:])
  9.                 return
  10.             for i in range(len(nums)):
  11.                 if used[i] or (i>0 and nums[i]==nums[i-1] and  used[i-1]):
  12.                     continue
  13.                 used[i]=True
  14.                 path.append(nums[i])
  15.                 bt()
  16.                 path.pop()
  17.                 used[i]=False
  18.         nums.sort()
  19.         bt()
  20.         return res

发表评论