给定一个二叉树,在树的最后一行找到最左边的值。
示例 1:
输入:
2
/
1 3
输出:
1
示例 2:
输入:
1
/ \
2 3
/ / \
4 5 6
/
7
输出:
7
别人的代码,记录一下…
public class FindBottomLeftValue {
int ans=0,pre=0;
public int findBottomLeftValue(TreeNode root) {
dfs(1,root);
return ans;
}
public void dfs(int cur,TreeNode root) {
if(pre<cur) {
ans = root.val;
pre = cur;
}
if(root.left!=null) {
dfs(cur+1,root.left);
}
if(root.right!=null) {
dfs(cur+1,root.right);
}
}
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}