问题描述
键盘输入一颗二叉树,求解其叶子结点个数。
示例:
输入: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方法求解,代码不够简略,我们会继续努力的。后续可能还是根据课程内容进行创作。