1道题目
77. 组合
解题理解
77
之前一直不理解的回溯操作这次终于理解了,回溯指的是撤销上次递归的内容,不会造成一直递归下去。
class Solution:
def __init__(self):
self.res = []
self.path = []
def backtracking(self, n, k, start):
if len(self.path) == k:
self.res.append(self.path[:])
return
for i in range(start, n + 1):
self.path.append(i)
self.backtracking(n, k, i + 1)
self.path.pop()
def combine(self, n: int, k: int) -> List[List[int]]:
self.backtracking(n, k, 1)
return self.res