LeetCode Hot 100 No.513 找树左下角的值

本文详细介绍了如何使用层序遍历方法找到二叉树最底部的左节点,通过Java实现了一个高效算法。该算法首先将根节点入队,然后逐层处理节点,每次优先处理队首元素,直到队列为空。此过程适用于解决二叉树相关问题,如二叉树的层序遍历等。

在这里插入图片描述
思路:
用层序遍历,只不过每一次都将同一层的结点全部加入队列。然后每次都保存那个最先入队的节点值。最后输出的就是最下面一层最左边的结点值。
相似的题见 No. 102 二叉树的层序遍历。

class Solution {
    public int findBottomLeftValue(TreeNode root) {
        Queue<TreeNode> que = new LinkedList<>();
        que.offer(root);
        int left = 0;
        while(!que.isEmpty())
        {
            int nums = que.size();
            TreeNode l = que.peek();
            left = l.val;
            while(nums>0)
            {
                TreeNode t = que.poll();
                if(t.left!=null)
                    que.offer(t.left);
                if(t.right!=null)
                    que.offer(t.right);
                nums--;
            }
        }
        return left;

    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值