046 Permutaions

这道题其实并没有说明这些数字互相不同, 但是因为有047 Permuations 2,则可以假定没有重复的数字, 使用递归。 代码如下

class Solution:
    # @param {integer[]} nums
    # @return {integer[][]}
    def permute(self, nums):
        ans = []
        if len(nums) <= 1:
            return [nums]
        for i in range(0, len(nums)):
            d = nums.pop(i)
            for res in self.permute(nums):
                ans += [[d] + res]
            nums.insert(i, d)
        return ans

 

posted @ 2015-07-09 01:41  dapanshe  阅读(166)  评论(0编辑  收藏  举报