我正在学习 Python 的递归。我定义了一个链表,其中每个节点都有item
和。我想写一个递归来设置从头到尾的级别,0、1、2 ...next
level
class LinkNode(object):
"""A node in a linked list."""
def __init__(self, item, next=None):
"""(LinkNode, object, LinkNode) -> NoneType
Initialize this node to store item and have next and level 0.
"""
self.item = item
self.left = next
self.level = 0 # the level of the link
def set_level(self, level):
"""(LinkNode, int) -> NoneType
Set the level attribute of every node in the list
for example: first node is 0, second is 1, third is 3...
"""
if self is None:
pass
else:
self.level = level
levle = level + 1
self.set_level(self.next, level)
但是当我运行它时,出现以下错误:
File "C:\Program Files\Wing IDE 101
4.1\src\debug\tserver\_sandbox.py", line 29, in <module> File "C:\Program Files\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py",
line 21, in set_level builtins.TypeError: set_level() takes exactly 2
positional arguments (3 given)
递归调用有问题吗?