求二叉树中所有度为2的结点个数

求二叉树中所有度为2的结点个数

思路

利用树的递归性质,使用递归算法,结点b以下的所有结点中度为2的结点个数为左子树+右子树中度为2的结点个数+b自身是否为度为2
的结点

1、f(b)=0 若b为null
2、f(b)=f(b->lchild)+f(b->rchlid)+1 若b为双分支结点
3、f(b)=f(b->lchild)+f(b->rchlid) 其他情况,即b为单分支结点或叶结点

另一解法

也可以依次遍历所有结点,检查左右子树是否存在,但是这种比较麻烦。

posted @ 2021-06-14 09:12  风中少年呀  阅读(2612)  评论(0)    收藏  举报