在调用递归函数时,使用字符串形式-如何返回字符串列表,而不是返回属于不同调用的单独字符串?
例如:
def printer_helper(str, pos, n, open, close):
if (close == n):
for i in str:
print(i, end="")
print()
return
else:
if (open > close):
str[pos] = '>'
printer_helper(str, pos + 1, n, open, close + 1)
if (open < n):
str[pos] = '<'
printer_helper(str, pos + 1, n, open + 1, close)
printer(['', '', '', '', '', ''],2)
输出为
<> <>
<< >>
我尝试在第一个if之前初始化一个列表(lst = []),并添加lst.append(i)而不是print(i),但我什么也没有。 我希望得到的是: [<> <>,<< >>]
示例的来源: https://www.geeksforgeeks.org/print-all-combinations-of-balanced-parentheses/