代码随想录——找树左下角的值(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;
    }
}
相关推荐
小比卡丘1 分钟前
C语言进阶版第17课—自定义类型:联合和枚举
android·java·c语言
gorgor在码农1 分钟前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
一个不知名程序员www4 分钟前
leetcode第189题:轮转数组(C语言版)
c语言·leetcode
xmh-sxh-13147 分钟前
java 数据存储方式
java
huapiaoy17 分钟前
Redis中数据类型的使用(hash和list)
redis·算法·哈希算法
liu_chunhai21 分钟前
设计模式(3)builder
java·开发语言·设计模式
冷白白30 分钟前
【C++】C++对象初探及友元
c语言·开发语言·c++·算法
鹤上听雷39 分钟前
【AGC005D】~K Perm Counting(计数抽象成图)
算法
一叶祇秋1 小时前
Leetcode - 周赛417
算法·leetcode·职场和发展
武昌库里写JAVA1 小时前
【Java】Java面试题笔试
c语言·开发语言·数据结构·算法·二维数组