利用二叉树的遍历方法,我们可以求得一棵二叉树的很多东西,例如我们可以遍历求得一棵二叉树的所有叶结点,到我们找到一个结点的左右子树都为空了,它就是其中一个叶结点,我们把它保存起来,在遍历完一棵二叉树后,我们就可以找到所有的叶结点。同理,我们也可以通过遍历一棵二叉树的所有节点后,求出一棵二叉树的高度。
首先我们来看如何用先序遍历的方式求得一棵二叉树的所有叶结点。我们可以用递归思想,就像遍历一样的递归方法,只是改变其中的一些条件。回顾一下递归遍历的方法是只要结点存在就输出,而现在我们要遍历找出叶结点,叶结点的与其他结点的区别就在于叶结点的左右子树都为空,所以在递归遍历时我们就可以加上一个条件:判断当结点的左右子树都为空时才输出结点,这样就可以通过遍历找出所有叶结点了。代码也和遍历的代码相似:
第61行用一个if判断如果(BT—