当前位置:网站首页>剑指OfferⅡ 045.二叉树最底层最左边的值 dfs
剑指OfferⅡ 045.二叉树最底层最左边的值 dfs
2022-08-10 16:12:00 【HotRabbit.】
题目
给定一个二叉树的 根节点root
,请找出该二叉树的 最底层 最左边 节点的值。
假设二叉树中至少有一个节点。
示例 1:
输入: root = [2,1,3]
输出: 1
示例 2:
输入: [1,2,3,4,null,5,6,null,null,7]
输出: 7
提示:
- 二叉树的节点个数的范围是
[1,104]
-231 <= Node.val <= 231 - 1
注意:本题与主站 513 题相同: https://leetcode-cn.com/problems/find-bottom-left-tree-value/
Related Topics
- 树
- 深度优先搜索
- 广度优先搜索
- 二叉树
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/LwUNpT
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
定义两个全局变量,记录高度和当前符合题意的值,深度遍历,当遍历节点高于当前高度时,记录当前值,先dfs左节点,再dfs右节点,这样如果左节点有值,右节点并没有左节点高度高,也不会取到。
题解
class Solution {
int curVal = 0;
int curHeight = 0;
public int findBottomLeftValue(TreeNode root) {
int curHeight = 0;
dfs(root,0);
return curVal;
}
public void dfs(TreeNode root, int height){
if (root == null) return;
height++;
dfs(root.left,height);
dfs(root.right,height);
if (height > curHeight){
curHeight = height;
curVal = root.val;
}
}
}
边栏推荐
猜你喜欢
随机推荐
FP6378AS5CTR SOT - 23-5 effective 1 mhz2a synchronous buck regulator
拆分整数为2的幂次项和 → 理解多重背包问题二进制优化的核心思想
Etcd Kubernetes 集群稳定性:LIST 请求源码分析、性能评估与大规模基础服务部署调优
MySQL-创建、修改和删除表
Zotero 开源文献管理工具
功能测试vs.非功能测试:能否非此即彼地进行选择?
二叉树详解
安克创新每一个“五星好评”背后,有怎样的流程管理?
烟雾、空气质量、温湿度...自己徒手做个环境检测设备
Chapter II Module Encyclopedia "collections Module"
I met a 25k+ from Tencent, he let me see what kind of basic ceiling
秘密共享方案介绍SS
mysql按月查询统计(统计近12个月的项目个数)
不同主机收不到组播消息原因分析
2025年推出 奥迪透露将推出大型SUV产品
超越神经缩放法则:通过数据剪枝
哈希表应用:只出现一次的数字
开源生态与AI芯片的碰撞&Dragonfly基于P2P的镜像加速系统 | 第 39-40 期
Redis存储验证码
5G NR MIB Detailed Explanation