原题目
Given a collection of distinct integers, return all possible permutations.
Example:
Input: [1,2,3]
Output:
[
[1,2,3],
[1,3,2],
[2,1,3],
[2,3,1],
[3,1,2],
[3,2,1]
]
思路
第一遍解法
网上好的解法
def permute(self
, nums
):
res
= []
self
.dfs
(nums
, [], res
)
return res
def dfs(self
, nums
, path
, res
):
if not nums
:
res
.append
(path
)
for i
in xrange(len(nums
)):
self
.dfs
(nums
[:i
]+nums
[i
+1:], path
+[nums
[i
]], res
)
自己可以改进的地方
最简代码
获得的思考