力扣513 找树左下角的值 Java版本

文章目录


题目描述

给定一个二叉树的 根节点 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

解题思路

可以采用层序遍历的方法解决这个问题,下面代码中注释了

代码

java 复制代码
class Solution {
    //使用层序遍历,每遍历到新的一层的时候就更新一下结果为每层的第一个节点
    //最后结果保存的就是最左下角的节点
    public int findBottomLeftValue(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        int result = 0;
        if (root==null){
            return 0;
        }
        queue.offer(root);
        while (!queue.isEmpty()){
            int size = queue.size();
            for (int i = 0; i < size; i++) {
                TreeNode node = queue.poll();
                //如果是这一层的第一个节点就保留一下
                if (i==0){
                    result = node.val;
                }
                if (node.left!=null){
                    queue.offer(node.left);
                }
                if (node.right!=null){
                    queue.offer(node.right);
                }
            }
        }
        return result;
    }
}
相关推荐
糖猫猫cc2 分钟前
Kite 实现逻辑删除
java·kotlin·orm·kite
Memory_荒年2 分钟前
Dubbo调优实战:从QPS 1000到10000的惊险过山车之旅
java·后端·dubbo
Cosolar4 分钟前
别再羡慕 Python 了!Java 开发者的 AI Agent 全指南:四大框架从选型到实战
java·人工智能·后端
tankeven7 分钟前
HJ156 走迷宫
c++·算法
色空大师15 分钟前
网站搭建实操(三)后台管理-2-forum-core)
java·redis·网站·搭建网站
Memory_荒年16 分钟前
Dubbo高级实战:从“能用”到“好用”的奇技淫巧
java·后端
旺仔.29126 分钟前
STL排序算法详解
数据结构·算法·排序算法
Flittly28 分钟前
【SpringAIAlibaba新手村系列】(4)流式输出与响应式编程
java·spring boot·spring·ai
美狐美颜sdk32 分钟前
美颜SDK是什么?直播/短视频美颜SDK技术详解
人工智能·算法·美颜sdk·直播美颜sdk·美颜api
yangyanping2010843 分钟前
广告系统设计二之RTA系统设计
java·spring·mybatis