找树左下角的值

简介: 找树左下角的值

一、题目描述:

给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。

假设二叉树中至少有一个节点。

示例 1:

img

输入: root = [2,1,3]
输出: 1
示例 2:

img

输入: [1,2,3,4,null,5,6,null,null,7]
输出: 7

提示:

二叉树的节点个数的范围是 [1,104]
-231 <= Node.val <= 231 - 1

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-bottom-left-tree-value
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

二、思路分析:

很明显通过层序遍历找到最后一层然后返回第一个值即可,那么问题也就拆分为两个

如何找到最后一层
使用一个队列,每一次循环队列中所有的子节点加入到队列中,然后将循环队列中的子节点pop掉,最后一次循环也就是没有子节点加入的一次循环即为最后一层
如何记录每层最左边的值
使用一个全局变量,每次循环时先把第一个队列元素拿出来做记录,其他的不做处理,这样子每次记录的就是这一层的最左边的元素,然后循环跑完记录的也就是最后一层的元素

三、AC 代码:

class Solution {
    int h = 0, val = 0;
    public int findBottomLeftValue(TreeNode root) {
        dfs(root, 1);
        return val;
    }

    public void dfs(TreeNode root, int height) {
        if (root != null) {
            if (height > h) {
                h = height;
                val = root.val;
            }
            dfs(root.left, height + 1);
            dfs(root.right, height + 1);
        }
    }
}
AI 代码解读

四、总结:

image.png

掘友们,解题不易,留下个赞或评论再走吧!谢啦~ 💐

希望对你有帮助,期待您找到心意的工作和满意的offer

期待下次再见~

🌇 点赞 👍 收藏 ⭐留言 📝 一键三连 ~关注从你我做起! \

目录
打赏
0
0
0
0
4
分享
相关文章
中间人攻击之DNS欺骗
【8月更文挑战第13天】
699 2
子网掩码的作用和设置方法
子网掩码是每个网管必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。以下我们就来深入浅出地讲解什么是子网掩码。 IP地址的结构 要想理解什么是子网掩码,就不能不了解IP地址的构成。
3327 0
移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法
移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法
592 0
Vue3+Ts练习小案例——实现追踪鼠标的
本文给大家带来一个Vue3+Ts练习小案例,帮助大家更好的掌握Vue3+Ts的基础
582 0
Vue3+Ts练习小案例——实现追踪鼠标的
Python3,5句话实现自动接收短信提醒
Python3,5句话实现自动接收短信提醒
579 0
Python3,5句话实现自动接收短信提醒
emqx centos开源版环境部署
emqx centos开源版环境部署
562 0
Adobe Photoshop2023最新版本百度云网盘一键安装下载教程
Adobe Photoshop2023最新版本百度云网盘一键安装下载教程
3801 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等