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

leetcode hot100刷题日记——14.二叉树的最大深度

在这里插入图片描述
在这里插入图片描述
解答:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int maxDepth(TreeNode* root) {//方法一:深度优先遍历,时间复杂度:O(n),其中 n 为二叉树节点的个数。每个节点在递归中只被遍历一次。//空间复杂度为O(height),等价于二叉树的高度// if(root==nullptr){//         return 0;// }    // return max(maxDepth(root->left),maxDepth(root->right))+1;//方法二:广度优先遍历//存放当前层的所有节点,用队列(先进先出)//每次遍历完一层,依次弹出队列中的节点继续拓展//时间复杂度O(n)//空间复杂度最坏是O(n)if(root==nullptr){return 0;}queue<TreeNode*>Q;Q.push(root);int depth=0;while(!Q.empty()){int Qsize=Q.size();while(Qsize>0){TreeNode *q=Q.front();Q.pop();if(q->left!=nullptr){Q.push(q->left);}if(q->right!=nullptr){Q.push(q->right);}Qsize--;}depth++;}return depth;}
};
http://www.xdnf.cn/news/8655.html

相关文章:

  • pyhton基础【2】基本语法
  • CodeForces - 1692D
  • 算法笔记·数学·欧拉函数
  • PCB布局设计
  • Windows逆向工程提升之IMAGE_BASE_RELOCATION
  • 使用Python操作Mysql数据库
  • 【VBA 字典的引用和调用方法】
  • 【笔记】如何解决GitHub报错403
  • [创业之路-377]:企业战略管理案例分析-战略制定/设计-市场洞察“五看”:看宏观之社会发展趋势:数字化、智能化、个性化的趋势对初创公司的战略机会
  • 品鉴JS的魅力之防抖与节流【JS】
  • 英语写作中“随着……的出现”with the advent of 的用法
  • 03-工具篇-SSH远程登录ubuntu系统
  • 同为科技 智能PDU产品选型介绍 EN10/I801CI
  • Elasticsearch实操案例
  • Linux Shell编程(九)
  • 贪心介绍 LeetCode 455.分发饼干 LeetCode 376. 摆动序列 LeetCode 53. 最大子序和
  • C# 异步方法中缺少 `await` 运算符的隐患与解决方案
  • Vue框架1(vue搭建方式1,vue指令,vue实例生命周期)
  • 卷积神经网络优化与应用实践:参数设置、泛化能力提升及多领域应用解析
  • Vue 3 路由传参使用指南
  • 视频监控联网系统GB28181协议中设备状态信息报送流程详解以及查询失败常见原因
  • uni-app学习笔记十--vu3 计算属性computed
  • 鸿蒙UI开发——上拉抽屉的更新与事件回调
  • Android Studio 连接夜神模拟器 自动断开的问题
  • 基于AI生成测试用例的处理过程
  • 海外IP代理在跨境电商选品、运营、风控的实战应用解析
  • ARM笔记-ARM伪指令及编程基础
  • Python:从脚本语言到工业级应用的传奇进化
  • 生成图片验证码
  • Ubuntu安装1Panel可视化管理服务器及青龙面板及其依赖安装教程