46. Permutations
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
res = []
def helper(curr, visited):
if len(curr) == len(nums):
res.append(list(curr))
return
for i in range(len(nums)):
if i in visited:
continue
num = nums[i]
curr.append(num)
visited.add(i)
helper(curr, visited)
visited.remove(i)
curr.pop()
helper([], set())
return res