首页 > 其他分享 >统计二叉树中度为1的结点个数

统计二叉树中度为1的结点个数

时间:2024-10-22 21:02:01浏览次数:8  
标签:结点 中度 TreeNode int right 二叉树 null root left

`class TreeNode {
int val;
TreeNode left;
TreeNode right;

TreeNode(int val) {
    this.val = val;
    this.left = null;
    this.right = null;
}

}

class BinaryTree {
public static int countNodesWithDegreeOne(TreeNode root) {
if (root == null) {
return 0;
}
int leftCount = countNodesWithDegreeOne(root.left);
int rightCount = countNodesWithDegreeOne(root.right);
int degree = (root.left!= null? 1 : 0) + (root.right!= null? 1 : 0);
if (degree == 1) {
return leftCount + rightCount + 1;
} else {
return leftCount + rightCount;
}
}
}`
public class Main {
public static void main(String[] args) {
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.right = new TreeNode(4);

    int count = BinaryTree.countNodesWithDegreeOne(root);
    System.out.println("度为 1 的结点个数为:" + count);
}

}

标签:结点,中度,TreeNode,int,right,二叉树,null,root,left
From: https://www.cnblogs.com/zyh-828/p/18493720

相关文章

  • PTA 生成格雷码 | C++ | 二叉树
    格雷码是一种包含2n个数串的序列,这种序列:1不存在重复的元素,2每个元素都是长度为n的二进制数串,3相邻元素只有一位不同。例如,长度为23的格雷码为:000,001,011,010,110,111,101,100。请使用分治法构造格雷码。提示,使用分治法构造格雷码,详见百度百科。输入格式:输入一个正整数n(1<=......
  • ReactOS寻找病返回最小StartingAddress所在结点。
    ReactOS寻找病返回最小StartingAddress所在结点。MmIterateFirstNode()函数文章目录ReactOS寻找病返回最小StartingAddress所在结点。MmIterateFirstNodeMmIterateFirstNode/*INCLUDES*****************************************************************/#incl......
  • 二叉树习题其三-Java【力扣】【算法学习day.10】
    前言书接上篇文章二叉树习题其二,这篇文章我们将基础拓展###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!习题1.从中序与后序遍历序......
  • leetcode:二叉树oj题
    目录1.单值二叉树2.相同的树3.对称二叉树4.二叉树的前序遍历5.二叉树的中序遍历6.二叉树的后序遍历1.单值二叉树https://leetcode.cn/problems/univalued-binary-tree/description/        对于这道题,我们可以进行深度优先查找,当值相同时就继续向下查找......
  • dfs题目:平衡二叉树(java)
    平衡二叉树题目思路开始的error代码(最后一行return的地方有误)修正的代码题目链接:平衡二叉树题目题目思路用分治的思想,要想看看以root为根节点的二叉树是不是平衡二叉树,得看他的左子树和右子树是不是平衡二叉树,如果左子树和右子树都是平衡的,且root自己是平衡的......
  • Leecode热题100-101.对称二叉树
    给你一个二叉树的根节点 root ,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围 [1,1000] 内-100<=Node.val<=100进阶:你可以运用递归和迭代两种方法解决这个问......
  • 111. 二叉树的最小深度
    思路递归时考虑几种情况:1.左右子树都为空,则最小深度=1(只有根节点)(也可理解为min(0,0)+1)2.左子树为空,右子树不空,则最小深度=右子树最小深度+13.左子树不为空,右子树为空,最小深度=左子树最小深度+14.左右子树不为空,最小深度=左右子树最小深度+1+1原因:递归的是左右子树,......
  • 代码随想录算法训练营day18 |530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数
    学习资料:https://programmercarl.com/0530.二叉搜索树的最小绝对差.html530.二叉搜索树的最小绝对差(双指针法,pre&cur,设置最小差值初始为无穷大,当差值<最小差值就更新最小差值)点击查看代码#Definitionforabinarytreenode.#classTreeNode(object):#def__init__(......
  • 二叉树和度为二的有序树的区别
    一、定义与结构度为二的有序树:在这种树结构中,每个节点最多有两个子节点。子节点的顺序是重要的,即使两个子节点的值相同,只要他们的位置不同,他们就被视为是不同的子节点。当一个节点只有一个子节点时,该子节点的位置(左或右)并无特定要求,也即无需区分其左右次序。二叉树:二叉树......
  • 推断二叉树(进阶)
    Description给出一棵二叉树的中序遍历和每个节点的父节点,求这棵二叉树的先序和后序遍历。Input输入第一行为一个正整数n表示二叉树的节点数目,节点编号从1到n,其中1为根节点。第2行有n个数字,第i个数字表示i的父亲节点。(1的父亲节点为0,表示无)第3行为中......