0513. Find Bottom Left Tree Value

https://leetcode.com/problems/find-bottom-left-tree-value

Description

Given the root of a binary tree, return the leftmost value in the last row of the tree.

Example 1:

**Input:** root = [2,1,3]
**Output:** 1

Example 2:

**Input:** root = [1,2,3,4,null,5,6,null,null,7]
**Output:** 7

Constraints:

  • The number of nodes in the tree is in the range [1, 104].

  • -231 <= Node.val <= 231 - 1

ac

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public int findBottomLeftValue(TreeNode root) {
        Queue<TreeNode> q = new LinkedList<>();
        q.offer(root);
        int res = 0;
        while (!q.isEmpty()) {
            int len = q.size();
            for (int i = 0; i < len; i++) {
                TreeNode curr = q.poll();
                if (i == 0) res = curr.val;
                if (curr.left != null) q.offer(curr.left);
                if (curr.right != null) q.offer(curr.right);
            }
        }

        return res;
    }
}

/*
just BFS, pick the first node of each level
*/

Last updated