''' 解题思路: 全排列搜索 for i in range(len(num)), dfs(num[:i]+num[i+1:],res+[num[i]]) 特别注意: dfs()函数的第一个参数,是排除当前字符的新数组 ''' # # @param num int整型一维数组 # @return int整型二维数组 # class Solution: def permute(self , num ): # write code here res = [] out = [] def dfs(num,res): if not num: if res not in out: out.append(res) for i in range(len(num)): dfs(num[:i]+num[i+1:],res+[num[i]]) dfs(num,res) #print(out) return out #Solution().permute([1,2,3]) # [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]