题目
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。
假设二叉树中至少有一个节点。
示例 1:
输入: root = [2,1,3]
输出: 1
示例 2:
输入: [1,2,3,4,null,5,6,null,null,7]
输出: 7
提示:
二叉树的节点个数的范围是 [1,104]
-231 <= Node.val <= 231 - 1
代码
package dayLeetCode;
import java.util.TreeMap;
public class dayleetcode513 {
// 记录结果
int ansNodeVal = 0;
// 记录当前层
int curHeight = 0;
// dfs
public int findBottomLeftValue(TreeNode root) {
dfs(root, 0);
return ansNodeVal;
}
void dfs(TreeNode node, int height){
if (node == null){
return;
}
height++;
dfs(node.left, height);
dfs(node.right, height);
// 如果比当前层深,就更新
if (height > curHeight){
curHeight = height;
ansNodeVal = node.val;
}
}
}