我写的方法是getNode和helper。由于某些原因,它不起作用。这是代码 类节点:
def __init__(self,data):
self.left = None
self.right = None
self.data = data
def insert(self,data):
if self.data:
if data < self.data:
if self.left is None:
self.left = Node(data)
else:
self.left.insert(data)
elif data > self.data:
if self.right is None:
self.right = Node(data)
else:
self.right.insert(data)
else:
self.data = data
def helper(self,level,ind,arr):
if level == 0:
arr.append(self)
else:
if self.left:
self.left.helper(level-1,arr)
if self.right:
self.right.helper(level-1,arr)
return arr[ind]
def getNode(self,ind):
arr = []
return self.helper(level,arr)
# Print the tree
def PrintTree(self):
if self.left:
self.left.PrintTree()
print(self.data),if self.right:
self.right.PrintTree()
root = Node(12)
root.insert(6)
root.insert(14)
root.insert(3)
root.insert(7)
root.insert(13)
root.PrintTree()
a = root.getNode(2,2).data
print('Answer is: ',a)
运行它后,出现以下错误:帮助程序中第33行的文件“ btree.py” 返回arr [ind] IndexError:列表索引超出范围