我一直试图以递归方式打印链表,并且输出中出现错误。
我编写了以下代码:
def recursivePrint(linkedList):
if linkedList == None:
return
print linkedList['data'], recursivePrint(linkedList['next'])
它输出:
2 7 1 3 10 None
None
None
None
None
None
我不知道我到底应该做什么,因为这应该很容易。我还需要能够反向打印列表,我想我的第一个功能几乎和我做的一样。
我将其反过来编码:
def reversePrint(linkedList):
if linkedList == None:
return
print reversePrint(linkedList['next']), linkedList['data']
得到了输出:
None
None 10
None 3
None 1
None 7
None 2
我认为在if语句或递归步骤中可能出现了问题。我应该做些什么?
答案 0 :(得分:1)
您需要打印列表的头部,然后在尾部调用recursivePrint
。您现在的问题是,您打印的recursivePrint
的返回值为None
。
def recursivePrint(linkedList):
if linkedList == None:
return
print linkedList['data']
recursivePrint(linkedList['next'])