代码随想录——找树左下角的值(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;
    }
}
相关推荐
青木川崎12 小时前
linux面试题
java·linux·运维
CoovallyAIHub12 小时前
首个大规模、跨模态医学影像编辑数据集,Med-Banana-50K数据集专为医学AI打造(附数据集地址)
深度学习·算法·计算机视觉
熬了夜的程序员12 小时前
【LeetCode】101. 对称二叉树
算法·leetcode·链表·职场和发展·矩阵
浮游本尊12 小时前
Java学习第28天 - 大规模系统设计与性能优化
java
上下翻飞的屁12 小时前
jdbcTemplate执行sql后数据库字段没有更新问题解决
java·数据库·sql
爱宇阳12 小时前
Java Spring Boot 项目 Docker 容器化部署教程
java·spring boot·docker
却道天凉_好个秋12 小时前
目标检测算法与原理(二):Tensorflow实现迁移学习
算法·目标检测·tensorflow
Luo_xguan12 小时前
一、Netty-高并发IO底层原理(5种主要的IO模型)
java·服务器·netty·nio
ACGkaka_12 小时前
SpringBoot 实战(四十)集成 Statemachine
java·spring boot·后端