分享

找树左下角的值

 数据结构和算法 2023-06-10 发布于上海

问题描述



来源:LeetCode第513题

难度:中等


给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。

示例 1:

输入: root = [2,1,3]

输出: 1

示例 2:

输入: [1,2,3,4,null,5,6,null,null,7]

输出: 7

提示:

  • 二叉树的节点个数的范围是 [1,10^4]

  • -2^31 <= Node.val <= 2^31 - 1 

问题分析



这题让返回的是最底层的最左边的节点值,解题思路也是一层一层的打印,每层从右往左打印,那么每一层最后一个打印的节点就是最左边的节点,前面的我们不需要记录,只需要记录最后一层最后一个打印的节点即可。

来看下代码:

// 先访问右子节点,在访问左子节点
public int findBottomLeftValue(TreeNode root) {
    Queue<TreeNode> queue = new LinkedList<>();
    queue.add(root);
    while (!queue.isEmpty()) {
        root = queue.poll();
        // 先访问右子节点,在访问左子节点
        if (root.right != null)
            queue.add(root.right);
        if (root.left != null)
            queue.add(root.left);
    }
    return root.val;// 最后一层的最左边节点
}
你点的每个赞,我都认真当成了喜欢

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章