513. Find Bottom Left Tree Value

Medium

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, 10^4].

  • -2^31 <= Node.val <= 2^31 - 1

解鑌

Runtime: 0 ms, faster than 100%

Memory Usage: 5.1 MB, less than 100%

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func findBottomLeftValue(root *TreeNode) int {
    ans := root.Val
    depth := 0 // η΄€ιŒ„η­”ζ‘ˆηš„ζ·±εΊ¦

    var helper func(*TreeNode, int)
    helper = func(node *TreeNode, dep int) {
        if node == nil { return }

        if dep > depth {
            ans = node.Val
            depth = dep
        }

        helper(node.Left, dep + 1) // ζ―ζ¬‘ιƒ½ε…ˆιζ­·ε·¦ι‚ŠοΌŒη­”ζ‘ˆζ‰ζœƒζ˜―ζœ€ε·¦ι‚Šηš„η―€ι»ž
        helper(node.Right, dep + 1)
    }

    helper(root, 0)

    return ans
}

Last updated