Given an array nums
of distinct integers, return all the possible permutations. You can return the answer in any order.
Input: nums = [1,2,3]
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Solution
This is a Backtracking problem; however, since we are doing permutations and not combinations, we need some way to track what elements of nums
we’ve already used.
Notes:
path[:]
is used to put a copy ofpath
so that we capture its state at each recursive call instead of all pointing to the same object