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)
之前的写法是把backtrack放到permute方法中,可以正确输出,但是方法套方法不够优雅,这种写法明明啥也没改,为啥结果就不对了呢?
代码好好粘,缩进全没了鬼能猜到你这逻辑到底怎么写的