LeetCode 513: Find Bottom Left Tree Value Solution

Master LeetCode problem 513 (Find Bottom Left Tree Value), a medium challenge, with our optimized solutions in Java, C++, and Python. Explore detailed explanations, test your code in our interactive editor, and prepare for coding interviews.

513. Find Bottom Left Tree Value

Problem Explanation

Explanation

To find the bottom left value in a binary tree, we can perform a level-order traversal (BFS) starting from the root. At each level, we iterate through all nodes in that level from left to right. The last node visited in the last level will be the bottom left value.

  • Time complexity: O(N) where N is the number of nodes in the tree
  • Space complexity: O(N) for the queue used in BFS

Solution Code

class Solution {
    public int findBottomLeftValue(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);
        int leftmost = 0;
        
        while (!queue.isEmpty()) {
            int size = queue.size();
            for (int i = 0; i < size; i++) {
                TreeNode node = queue.poll();
                if (i == 0) {
                    leftmost = node.val;
                }
                
                if (node.left != null) {
                    queue.offer(node.left);
                }
                if (node.right != null) {
                    queue.offer(node.right);
                }
            }
        }
        
        return leftmost;
    }
}

Try It Yourself

Loading code editor...

Related LeetCode Problems

Frequently Asked Questions

How to solve LeetCode 513 (Find Bottom Left Tree Value)?

This page provides optimized solutions for LeetCode problem 513 (Find Bottom Left Tree Value) in Java, C++, and Python, along with a detailed explanation and an interactive code editor to test your code.

What is the time complexity of LeetCode 513 (Find Bottom Left Tree Value)?

The time complexity for LeetCode 513 (Find Bottom Left Tree Value) varies by solution. Check the detailed explanation section for specific complexities in Java, C++, and Python implementations.

Can I run code for LeetCode 513 on DevExCode?

Yes, DevExCode provides an interactive code editor where you can write, test, and run your code for LeetCode 513 in Java, C++, or Python.

Back to LeetCode Solutions