【leetcode】Permutations

题目描述:

Given a collection of numbers, return all possible permutations.

For example,
[1,2,3] have the following permutations:
[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].

解题思路:

这道题目由于是求所有的全排列,比较直观的方法就是递归了

class Solution:
    # @param num, a list of integer
    # @return a list of lists of integers

    def permute(self,l):  
        if(len(l)<=1):  
            return [l]  
        r=[]
        for i in range(len(l)):  
            s=l[:i]+l[i+1:]  
            p=self.permute(s)  
            for x in p:  
                r.append(l[i:i+1]+x)  
        return r

s = Solution()
print s.permute([1,2,3])

你可能感兴趣的:(LeetCode)