代码随想录——找树左下角的值(Leetcode513)

题目链接

层序遍历

思路:使用层序遍历,记录每一行 i = 0 的元素,就可以找到树左下角的值

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int findBottomLeftValue(TreeNode root) {
        Deque<TreeNode> queue = new LinkedList<TreeNode>();
        int res = root.val;
        queue.offer(root);
        while(!queue.isEmpty()){
            int size = queue.size();
            for(int i = 0; i < size; i++){
                TreeNode node = queue.poll();
                if(i == 0){
                    res = node.val;
                }
                if(node.left != null){
                    queue.offer(node.left);
                }
                if(node.right != null){
                    queue.offer(node.right);
                }
            }
        }
        return res;
    }
}
相关推荐
.格子衫.3 分钟前
018数据结构之队列——算法备赛
数据结构·算法
光军oi4 分钟前
JAVA全栈JVM篇————初识JVM
java·开发语言·jvm
我命由我123459 分钟前
PDFBox - PDFBox 加载 PDF 异常清单(数据为 null、数据为空、数据异常、文件为 null、文件不存在、文件异常)
java·服务器·后端·java-ee·pdf·intellij-idea·intellij idea
7哥♡ۣۖᝰꫛꫀꪝۣℋ16 分钟前
Spring Boot
java·spring boot·后端
Moniane18 分钟前
C++深度解析:从核心特性到现代编程实践
java·开发语言·jvm
攻城狮CSU23 分钟前
C# 数据加载专题 之泛型序列化
java·servlet·c#
浩泽学编程24 分钟前
【源码深度 第1篇】LinkedList:双向链表的设计与实现
java·数据结构·后端·链表·jdk
哲此一生98429 分钟前
创建一个SpringBoot项目(连接数据库)
java·spring boot·后端
文心快码BaiduComate30 分钟前
Comate Zulu实测:不会编程也能做软件?AI程序员现状令人震惊
java·程序员·前端框架
Michael_lcf39 分钟前
Java的UDP通信:DatagramSocket和DatagramPacket
java·开发语言·udp