orchidrlz orchidrlz
今天把性别改过来。。。
关注数: 46 粉丝数: 268 发帖数: 4,691 关注贴吧数: 74
求二叉树高度代码报错,求大佬解答 代码如下 class BTree(object): def __init__(self, data=None, left=None, right=None): #定义二叉树 self.data = data self.left = left self.right = right def height(self): #求二叉树高度 if self.data is None: return 0 elif self.data is None and self.right is None: return 1 elif self.left is None and self.right is not None: return 1 + self.right.height() elif self.left is not None and self.right is None: return 1 + self.left.height() else: return 1 + max(self.left.height(), self.right.height()) right_tree = BTree(6) #建立二叉树 right_tree.left = BTree(2) right_tree.right = BTree(4) left_tree = BTree(5) left_tree.left = BTree(1) left_tree.right = BTree(3) tree = BTree(11) tree.left = left_tree tree.right = right_tree tree.height() #求二叉树高度 运行之后会报错如下 AttributeError Traceback (most recent call last) <ipython-input-33-85a0577fd879> in <module> 28 tree.right = right_tree 29 ---> 30 tree.height() <ipython-input-33-85a0577fd879> in height(self) 14 return 1 + self.left.height() 15 else: ---> 16 return 1 + max(self.left.height(), self.right.height()) 17 18 right_tree = BTree(6) <ipython-input-33-85a0577fd879> in height(self) 14 return 1 + self.left.height() 15 else: ---> 16 return 1 + max(self.left.height(), self.right.height()) 17 18 right_tree = BTree(6) <ipython-input-33-85a0577fd879> in height(self) 14 return 1 + self.left.height() 15 else: ---> 16 return 1 + max(self.left.height(), self.right.height()) 17 18 right_tree = BTree(6) AttributeError: 'NoneType' object has no attribute 'height' 我想着是方法名字的问题吗还是什么,跟着视频敲的代码,不知道为什么运行不了
1 下一页