Leetcode——513. Find Bottom Left Tree Value
阿新 • • 發佈:2019-02-10
題目原址
題目描述
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.
給定一個二叉樹,返回這棵樹中深度最大的一行中最左邊的樹的值
解題思路
使用遞迴實現
如果當前的節點的深度大於之前的節點深度,則將當前的節點放入node中。node為一個有兩個元素的陣列,陣列的第一個元素為樹的節點值,第二個元素為當前節點的深度。
AC程式碼
class Solution {
public int findBottomLeftValue(TreeNode root) {
return find(root, 1, new int[]{0,0});
}
private int find(TreeNode root, int depth, int [] node) {
if(node[1] < depth) {
node[0] = root.val;
node[1] = depth;
}
if(root.left != null)
find(root.left, depth + 1, node);
if(root.right != null)
find(root.right, depth + 1, node);
return node[0];
}
}