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

二叉树(七)--完全二叉树的节点个数

这个对应力扣题目为:222. 完全二叉树的节点个数 - 力扣(LeetCode)

该题的大致思路如下:

这道题用两种方法来做,一是层序遍历,二是递归。

层序遍历就是在计算有多少节点进入队列就好了,这个思路还是很简单的。

递归也是记录每次走过的节点就好了,记住要+1(也就是节点本身)。

力扣题目答案如下:

层序遍历:

class Solution {
public:int countNodes(TreeNode* root) {queue<TreeNode*> que;int res = 0;if(root != nullptr){que.push(root);}while(!que.empty()){int size = que.size();for(int i = 0; i < size; i++){TreeNode* tmp = que.front();que.pop();if(tmp->left) que.push(tmp->left);if(tmp->right) que.push(tmp->right);res++;}}return res;}
};

递归:

class Solution {
public:int getnum(TreeNode* root){if(root == nullptr){return 0;}int left = getnum(root->left);int right = getnum(root->right);return left+right+1;}int countNodes(TreeNode* root) {int res = getnum(root);return res;}
};

http://www.dtcms.com/a/327306.html

相关文章:

  • Day13 Vue工程化
  • mysql 简单操作手册
  • 行业分享丨SimSolid 在汽车零部件开发中应用的可行性调研及实践
  • 鸿蒙har包打包与引用,其它主工程entry引用本地har
  • Wireshark专家模式定位网络故障:14种TCP异常深度解剖
  • 西门子S7-200与S7-1200通过PPI以太网模块通讯,赋能汽车制造行业发展
  • 人机交互:连接人类与数字世界的桥梁
  • 【k8s】pvc 配置的两种方式volumeClaimTemplates 和 PersistentVolumeClaim
  • 计算机网络1-8:第一章 概述 习题课
  • UserController类讲解
  • Git 撤回已推送到远程的最近push
  • Linux 服务器,安装mqtt服务
  • AuthController类讲解
  • 思科、华为、华三如何切换三层端口?
  • 前端面试题汇总--Vue2篇
  • 网络安全:如何保障社交媒体账户的安全?
  • 导入文件到iPhone实现
  • Python打卡Day40 训练和测试的规范写法
  • iOS 编译 cpp 代码生成 .a 库备忘
  • 【测试】Bug+设计测试用例
  • 华为发布AI推理新技术,降低对HBM内存依赖
  • C语言—数组和指针练习题合集(二)
  • 终端安全检测和防御技术总结
  • 2025年Java后端秋招面试宝典:高频题库+场景解析
  • wordpress从wp_nav_menu中获取菜单项
  • 聆思duomotai_ap sdk适配dooiRobot
  • 【PyTorch学习笔记 - 03】 Transforms
  • 算法打卡力扣第88题:合并两个有序数组(easy)
  • Java的异常机制
  • 【牛客刷题】REAL806 放它一马:怪物经验值最大化策略详解