R6-1 统计二叉树度为1的结点个数
时间: 2024-03-13 09:43:50 浏览: 123
求度为2的结点个数-二叉树
一个二叉树的度为1的结点,指的是只有一个子节点的节点。统计二叉树度为1的结点个数可以通过递归实现。
具体思路如下:
1. 如果当前节点为空,则返回0。
2. 如果当前节点的左右子树都为空,则返回0。
3. 如果当前节点只有一个子节点,则返回1。
4. 如果当前节点有两个子节点,则递归地计算左右子树中度为1的节点个数之和。
下面是代码实现:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def count_degree_one_nodes(root):
if not root:
return 0
if not root.left and not root.right:
return 0
if not root.left or not root.right:
return 1
return count_degree_one_nodes(root.left) + count_degree_one_nodes(root.right)
```
其中,TreeNode 是二叉树的结点类,count_degree_one_nodes 是统计二叉树度为1的节点个数的函数。
阅读全文