当前位置: 首页 > news >正文

【LeetCode刷题(数据结构与算法)】:完全二叉树的节点个数

在这里插入图片描述
完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点
在这里插入图片描述
输入:root = [1,2,3,4,5,6]
输出:6
示例 2:
输入:root = []
输出:0
示例 3:
输入:root = [1]
输出:1
本题我决定采用递归的方法来解决 不光是代码少的原因 更重要的是更容易想到更容易理解

// 递归法
int countNodes(struct TreeNode* root) {//若传入结点不存在,返回0if(!root)return 0;//算出左右子树的结点总数int leftCount = countNodes(root->left);int rightCount = countNodes(root->right);//返回左右子树结点总数+1return leftCount + rightCount + 1;
}
http://www.lryc.cn/news/193839.html

相关文章:

  • 【代码随想录】算法训练营 第一天 第一章 数组 Part 1
  • 286_C++_定时器的其中一个操作,定时重载接口—startTimer循环执行回调(未完全)
  • 自动驾驶学习笔记(四)——变道绕行仿真
  • C++位图,布隆过滤器
  • Python多种方法实现九九乘法表
  • 【力扣1876】长度为三且各字符不同的子字符串
  • HSN:微调预训练ViT用于目标检测和语义分割,华南理工和阿里巴巴联合提出
  • 机器学习的原理是什么?
  • Java集合框架之ArrayList源码分析
  • TensorFlow入门(二十、损失函数)
  • MySQL中死锁
  • 【LeetCode刷题(数据结构)】:给定一个链表 每个节点包含一个额外增加的随机指针 该指针可以指向链表中的任何节点或空节点 要求返回这个链表的深度拷贝
  • uniapp封装loading 的动画动态加载
  • Kopler.gl笔记:可视化功能总览
  • rust学习Cell、RefCell、OnceCell
  • 基于SSM的摄影约拍系统
  • 分析智能平台VMware Greenplum 7 正式发布!
  • 动态规划算法(3)--0-1背包、石子合并、数字三角形
  • Linux C/C++ 嗅探数据包并显示流量统计信息
  • Vitis导入自制IP导致无法构建Platform
  • SQLAlchemy 使用封装实例
  • Android Framework通信:Binder
  • 如何用精准测试来搞垮团队?
  • 暴力递归转动态规划(十)
  • 深度学习-房价预测案例
  • 【26】c++设计模式——>命令模式
  • ElasticSearch容器化从0到1实践(一)
  • 【Vue面试题二十四】、Vue项目中有封装过axios吗?主要是封装哪方面的?
  • 旅游票务商城小程序的作用是什么
  • LabVIEW在安装了其它的NI软件之后崩溃了