
剑指offer Leetcode 55-I 二叉树的深度
发布日期:2021-05-06 23:39:40
浏览次数:18
分类:精选文章
本文共 991 字,大约阅读时间需要 3 分钟。
解法1:递归
思路:
当前节点的深度 = 左子和右子深度的最大值 + 1
复杂度:
●时间:O(N)
●空间:O(N)
代码:
class Solution { public: int maxDepth(TreeNode* root) { if(root == NULL) return 0; return max(maxDepth(root->left), maxDepth(root->right)) + 1; }};
解法2:层序遍历
思路:
求二叉树的深度 = 求二叉树有多少层,所以用层序遍历就好了
复杂度:
●时间:O(N)
●空间:O(N),当树平衡时,队列queue同时存储N/2个节点。
代码:
class Solution { public: int maxDepth(TreeNode* root) { if(root == NULL) return 0; queuemy_queue; my_queue.push(root); int ans = 0; while(!my_queue.empty()){ //用size控制每层 int size = my_queue.size(); while(size--){ TreeNode* cur = my_queue.front(); my_queue.pop(); if(cur->left != NULL) my_queue.push(cur->left); if(cur->right != NULL) my_queue.push(cur->right); } //每层ans + 1 ans++; } return ans; }};
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年03月26日 10时53分02秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python实验26:计算文件MD5值
2021-05-08
LeetCode:28. 实现 strStr()——————简单
2021-05-08
LeetCode:697. 数组的度————简单
2021-05-08
LeetCode:1052. 爱生气的书店老板————中等
2021-05-08
C语言的6大基本数据类型!(学习C语言小白必备!!)
2021-05-08
Nginx配置反向代理与负载均衡
2021-05-08
Lionheart万汇:布林线双底形态分析技巧
2021-05-08
LHCM万汇:在需求上升中,美国贸易赤字创下历史新高
2021-05-08
Mybatis的入门01
2021-05-08
Vue路由嵌套刷新后页面没有重新渲染
2021-05-08
Vue使用bus进行组件间、父子路由间通信
2021-05-08
数据库三个级别封锁协议
2021-05-08
类的实例
2021-05-08
tomcat加载部署webapps目录下的项目
2021-05-08
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
2021-05-08
方法重写
2021-05-08
Threading Programming Guide(多线程编程指南)
2021-05-08
Java求逆波兰表达式的结果(栈)
2021-05-08
SDWebImage--http图片加载不出来的问题
2021-05-08
Application received signal SIGSEGV
2021-05-08