题目描述:
给定一个二叉树的 根节点 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
做题记录:
1.借助队列做层序遍历,和44题的解题思路一样,只是让返回的内容不一样而已。
附上代码:
public int findBottomLeftValue(TreeNode root) {
int ret = root.val;
Queue<TreeNode> queue = new ArrayDeque<>();
queue.add(root);
while (!queue.isEmpty()) {
int size = queue.size();
ret = queue.peek().val;
for (int i = 0; i < size; i++) {
TreeNode treeNode = queue.poll();
if (treeNode.left != null) {
queue.add(treeNode.left);
}
if (treeNode.right != null) {
queue.add(treeNode.right);
}
}
}
return ret;
}