Input: nums = [1,2,3]
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Input: nums = [0,1]
Output: [[0,1],[1,0]]
Input: nums = [1]
Output: [[1]]
  1. 修改当前值
  2. 递归current node
  3. 还原当前值
def permute(self, nums):
:type nums: List[int]
:rtype: List[List[int]]

def backTrack(nums, level):
if level == len(nums)-1:
for i in range(level, len(nums)):
nums[level], nums[i] = nums[i], nums[level]
backTrack(nums, level+1)
nums[level], nums[i] = nums[i], nums[level]
self.ans = []
backTrack(nums, 0)
return self.ans




Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Couch Co-op NFT Games

Day 15 — #100DaysOfCode

Rails Associations & Tables

What I’ve learned in the iOS module.

API Gateway: why!!!

Kubernetes 10 / RBAC

What is Rave?

[BG-1080p]▷Гледайте Жената чудо 1984 ((2020)) пълен филм онлайн HD

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Newbie Developer

Newbie Developer

More from Medium

Memory Teacher: Learning Languages

Setting Up Git for Unity

Member Functions UE5

My Mechanical Romance by Alexene Farol Follmuth