Skip to content

Latest commit

 

History

History
71 lines (57 loc) · 1.72 KB

_513. Find Bottom Left Tree Value.md

File metadata and controls

71 lines (57 loc) · 1.72 KB

All prompts are owned by LeetCode. To view the prompt, click the title link above.

Back to top


First completed : July 03, 2024

Last updated : July 04, 2024


Related Topics : Tree, Depth-First Search, Breadth-First Search, Binary Tree

Acceptance Rate : 71.5 %


Solutions

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) {
        return helper(root, 0).x;
    }

    // Return (val, depth)
    private Point helper(TreeNode curr, int depth) {
        if (curr.left == null && curr.right == null) {
            return new Point(curr.val, depth);
        }

        depth++;
        if (curr.left != null && curr.right != null) {
            Point l = helper(curr.left, depth);
            Point r = helper(curr.right, depth);

            if (l.y < r.y) {
                return r;
            }
            return l;
        }

        if (curr.left != null) {
            return helper(curr.left, depth);
        }
        return helper(curr.right, depth);
    }
}