首页 > 代码库 > Find Bottom Left Tree Value

Find Bottom Left Tree Value

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

Example 1:

Input:

    2
   /   1   3

Output:
1

 

Example 2: 

Input:

        1
       /       2   3
     /   /     4   5   6
       /
      7

Output:
7

 

Note: You may assume the tree (i.e., the given root node) is not NULL.

 

Hide Company Tags

 

 1 /**
 2  * Definition for a binary tree node.
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     private int result = 0, height = 0;
12     public int findBottomLeftValue(TreeNode root) {
13         helper(root, 1);
14         return result;
15     }
16     
17     private void helper(TreeNode root, int depth) {
18         if (root == null) return;
19         
20         if (height < depth) {
21             result = root.val;
22             height = depth;
23         }
24         
25         helper(root.left, depth + 1);
26         helper(root.right, depth + 1);
27     }
28 }

 

Find Bottom Left Tree Value