Это то, с чем я сталкиваюсь, пытаясь ответить на вопрос LeetCode. Я написал функцию для вызова другой рекурсивной функции.
Это способ правильного вывода.
def generateParenthesis(self, n: int) -> List[str]:
right = n
left = n
item = ''
result = []
self.helper(item, left, right, result)
return result
def helper(self, item, l, r, result):
if l==0 and r==0:
return result.append(item)
else:
if l > r:
return
else:
if l > 0:
self.helper(item+'(', l-1,r, result)
if r > 0:
self.helper(item+')', l, r-1, result)
Однако, когда я изменю первую функцию на эту, я получу пустой список [].
def generateParenthesis(self, n: int) -> List[str]:
right = n
left = n
item = ''
result = []
return self.helper(item, left, right, result)
Не могу понять, как работает возврат в функции, вам нужна помощь от вас, ребята.