题解 | #没有重复项数字的全排列#

没有重复项数字的全排列

http://www.nowcoder.com/practice/4bcf3081067a4d028f95acee3ddcd2b1

回溯的思想,当遍历到响应的元素后,注意还有一步测回的操作。

class Solution:

    def permute(self , num: List[int]) -> List[List[int]]:
        # write code here
        if not num:
            return None
        num.sort()
        res = []
        self.backtrack(num, res, 0)
        return res
        
        
    def backtrack(self, num, res, index):
        if index == len(num) - 1:
            res.append(num)
        else:
            for i in range(index, len(num)):
                temp = num[i]
                num[i] = num[index]
                num[index] = temp 
                self.backtrack(num, res, index + 1)
                temp = num[i]
                num[i] = num[index]
                num[index] = temp
        
        
全部评论

相关推荐

点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务