<分区> 分区>
def rsum(L):
if len(L) == 1:
result = L[0]
elif type(L[0]) == type([]):
if len(L[0]) == 0:
result = []
else:
current = [L[0][0]]
rest = L[0][1:]
result = rsum(current) + rsum(rest) + rsum(L[1:])
else:
result = L[0] + rsum(L[1:])
return result
print(rsum([1,2,[3,4],5]))
这是我的尝试。如果列表像这样非常简单,这将起作用:
print(rsum([1,2,[3,4],5])) -> 15
但是像这样的复杂的:[[1], [2, [3]], []] 失败
我只是想知道这是否可以通过负 1 策略来实现?我已经被这个难住了一段时间。
不允许循环
