用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目daima
时间: 2024-02-22 20:57:59 浏览: 164
以下是用Java语言实现的按层次顺序遍历二叉树,并统计具有度为1的节点数目的代码:
```java
public int countDegreeOneNodes(TreeNode root) {
if (root == null) {
return 0;
}
int count = 0;
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
TreeNode node = queue.poll();
if (node.left == null && node.right != null) { // 只有右子节点
count++;
} else if (node.left != null && node.right == null) { // 只有左子节点
count++;
}
if (node.left != null) {
queue.offer(node.left);
}
if (node.right != null) {
queue.offer(node.right);
}
}
return count;
}
```
该方法使用一个队列来存储每一层的节点,并依次出队并处理每个节点。具体处理方法是,如果一个节点只有左子节点或只有右子节点,则该节点的度为1,累加器count加1。最后返回累加器的值即可。
阅读全文