问题描述
键盘输入一颗二叉树,求解其叶子结点个数。
示例:
输入:4,2,6,1,3,5
输出:3
解决方案
一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称“叶子”。当二叉树为空时直接返回0,当二叉树只有一个根,但是无左右孩子时,根节点就是一个叶子节点。
代码清单 二叉树叶子结点问题python代码
def leaf(self,root):
if root==None:
return 0
elif root.left==None and root.right==None:
return 1
else:
return (self.leaf(root.left)+self.leaf(root.right))
tree=Tree()
tree.add(1)
tree.add(2)
tree.add(3)
tree.add(4)
tree.add(5)
tree.add(6)
tree.add(7)
tree.add(8)
tree.add(9)
print(" ")
print("叶子节点的个数为:")
num=tree.leaf(tree.root)
print(num)
结语
本次我们用代码解决了二叉树求叶子结点的问题,用代码表述没有想象的容易,最后通过add方法求解,代码不够简略,我们会继续努力的。后续可能还是根据课程内容进行创作。
实习编辑:衡辉
作者:胥竟元、张爱玲、张夕
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。