whosyourwho 2022-11-09 22:53 采纳率: 50%
浏览 12

全排列为什么这个输出结果是空?

Leetcode 46.全排列为什么这个输出结果是空?

46.全排列

  • 代码如下:
class Solution:
    def __init__(self) -> None:
        self.res = []

    def permute(self, nums):
        track = []
        self.backtrack(nums, track)
        return self.res

    def backtrack(self, nums, track):
        if len(track) == len(nums):
            self.res.append(track)
            # 测试输出
            print(self.res) 
            return
        for num in nums:
            if num in track:
                continue
            track.append(num)
            self.backtrack(nums, track)
            track.remove(num)

实际输出:

img

期望输出:

img

之前的写法是把backtrack放到permute方法中,可以正确输出,但是方法套方法不够优雅,这种写法明明啥也没改,为啥结果就不对了呢?

  • 写回答

1条回答 默认 最新

  • 於黾 2022-11-10 09:18
    关注

    代码好好粘,缩进全没了鬼能猜到你这逻辑到底怎么写的

    评论

报告相同问题?

问题事件

  • 修改了问题 11月10日
  • 创建了问题 11月9日