【力扣算法题】寻找树中最左下结点的值

题目:

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

假设二叉树中至少有一个节点。

样例示例 1:

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

示例 2:

 

 


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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-bottom-left-tree-value
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


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) {
        TreeNode currentNode = null;
        //创建队列
        Queue<TreeNodequeue = new LinkedList();
        //根节点入队
        queue.offer(root);
        while(!queue.isEmpty()){
            currentNode = queue.poll();//出队一个节点
            //按顺序入队右节点左节点
            if(currentNode.right!=null){
                queue.offer(currentNode.right);
            }
            if(currentNode.left!=null){
                queue.offer(currentNode.left);
            }
        }
        //所有的节点出队后,最后一个节点即是,最左下节点
        return currentNode.val;
    }
}
posted @ 2022-08-24 17:50  xuzhujack  阅读(41)  评论(0编辑  收藏  举报
;