Skip to content
本页目录

0513-找树左下角的值

题目描述

https://leetcode.cn/problems/find-bottom-left-tree-value/ 给定一个二叉树的 根节点 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

思路:BFS

使用 BFS 展开时最后一层的的第一个数字就是最左下角的第一个数。

csharp
public class Solution {
    public int FindBottomLeftValue(TreeNode root) {
    	Queue<TreeNode> queue = new Queue<TreeNode>();    	
    	queue.Enqueue(root);
    	int result = -1;

    	while(queue.Count > 0){
    		int count = queue.Count;
    		for(int i=0; i<count; i++){
    			TreeNode cur = queue.Dequeue();
    			if(i == 0){
    				result = cur.val;
    			}
    			if(cur.left != null){
    				queue.Enqueue(cur.left);
    			}
    			if(cur.right != null){
    				queue.Enqueue(cur.right);
    			}
    		}
    	}

    	return result;
    }
}

Released under the MIT License.