Leetcode 222.完全二叉树的节点个数

要求是 给出一个完全二叉树,求出该树的节点个数。

完全二叉树的节点数其实是可以在找到最后一层最右侧的元素之后直接使用公式计算的。这里我们需要先明确什么是完全二叉树,以及普通二叉树和完全二叉树的区别。

我们先不考虑完全二叉树,而是按照普通二叉树的思路来全部遍历并统计。

这道题目的递归法和求二叉树的深度写法类似, 而迭代法,用层序遍历稍稍修改一下,记录遍历的节点数就可以了。

递归遍历的顺序依然是后序(左右中)。

1.普通递归求解

还是三部曲:

1. 确定递归函数的参数和返回值:参数就是传入树的根节点,返回就返回以该节点为根节点二叉树的节点数量,所以返回值为int类型。 代码如下:

int getNodesNum(TreeNode cur) {}

2. 确定终止条件:如果为空节点的话,就返回0,表示节点数为0。 代码如下:

if (cur == null) return 0;

3. 确定单层递归的逻辑:先求它的左子树的节点数

二叉树11:完全二叉树的节点个数相关推荐

  1. 漫画:二叉树系列 第七讲(完全二叉树的节点个数)

    在上一篇中,我们学习了解了平衡二叉树,并且利用DFS进行了验证.在本节中,我们将继续学习完全二叉树的相关内容.首先了解一下什么是完全二叉树. 01 完全二叉树 完全二叉树由满二叉树引出,先来了解一下什 ...

  2. c#二叉树 取叶子节点个数_二叉树的最小深度+完全二叉树的节点个数

    二叉树的最小深度 题目:给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20 ...

  3. 数据结构与算法之完全二叉树的节点个数

    数据结构与算法之完全二叉树的节点个数 目录 数据结构与算法之完全二叉树的节点个数 1. 数据结构与算法之完全二叉树的节点个数 (一)思路 先遍历左边界获得树的高度h 遍历右子树的左边界,看看到没到最后 ...

  4. leetcode 222.完全二叉树的节点个数 Java

    完全二叉树的节点个数 题目链接 描述 示例 初始代码模板 代码 题目链接 https://leetcode-cn.com/problems/count-complete-tree-nodes/ 描述 ...

  5. LeetCode—222. 完全二叉树的节点个数

    222. 完全二叉树的节点个数 题目描述: 给你一棵 完全二叉树的根节点 root ,求出该树的节点个数. 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值 ...

  6. 222. 完全二叉树的节点个数 golang

    222. 完全二叉树的节点个数 给出一个完全二叉树,求出该树的节点个数. 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集 ...

  7. [JavaScript 刷题] 树 - 完全二叉树的节点个数, leetcode 222

    [JavaScript 刷题] 树 - 完全二叉树的节点个数, leetcode 222 github repo 地址: https://github.com/GoldenaArcher/js_lee ...

  8. Leecode 222. 完全二叉树的节点个数——Leecode日常刷题系列

    题目链接:https://leetcode-cn.com/problems/count-complete-tree-nodes/ 题解汇总:https://leetcode-cn.com/proble ...

  9. 完全二叉树子节点个数

    题目:一个具有n个节点的完全二叉树,其叶子节点的个数为多少? 分析: 设叶子节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2侧有 n0+n1+n2=n (1)对于二叉树有:n0=n2+1 ...

最新文章

  1. TCPView for Windows
  2. IBM服务器显示系统恢复,苏州数据恢复_IBM X3850服务器数据恢复中处理SAS硬盘故障的恢复案例...
  3. Java交流|面试最后一问:你有什么问题想问我吗?
  4. ghost后自动修改IP和计算机名的VBS脚本
  5. Spring DI(依赖注入)构造器注入篇
  6. Kali Linux破解WiFi教程
  7. CALayer学习--contentsCenter属性
  8. 经常有职场上的朋友问我,要怎么去轻资产创业?
  9. 拓端tecdat|R语言模拟保险模型中分类器的ROC曲线不良表现
  10. Python语言基础
  11. VS2012使用 MSDN教程
  12. 常用著名网络教学平台
  13. Android Studio Entry name *.xml collided解决方案
  14. Vs2019 打包项目程序和安装卸载程序
  15. 皇图中原青豫大战打到服务器维护,【九州皇图】青、豫国砸再现激情
  16. TWaver GIS制作穹顶之下的雾霾地图
  17. android socket上传视频教程,android socket视频流方案
  18. Murmurhash介绍与实现
  19. 怎么把视频做成背景html,HTML5设置视频背景的方法介绍
  20. MySQL 数据表优化设计(六):id 该如何选择数据类型?

热门文章

  1. 计算机应用基础西南大学答案2015,西南大学2013级《计算机应用基础》论述题答案(全).doc...
  2. 全面解读STM32生态环境,介绍、下载安装、使用教程等
  3. 【必看】工厂人员定位系统设计不可不知的几个要点
  4. EM算法及python简单实现
  5. QQ登录查看漫游记录每次都要输入独立密码怎么办?
  6. C语言程序设计入门-萌新篇
  7. st9s429开关电源芯片手册及引脚定义
  8. gvim+w7+vundle安装教程
  9. Linux(Debian系)图形化安装惠普HP打印机驱动-亲测有效!新手友好
  10. 计算机删除数据后如何恢复出厂设置,怎样使电脑恢复到出厂状态,清除所有数据??是否需要重装系统??...