
思路:
用层序遍历,只不过每一次都将同一层的结点全部加入队列。然后每次都保存那个最先入队的节点值。最后输出的就是最下面一层最左边的结点值。
相似的题见 No. 102 二叉树的层序遍历。
class Solution {
public int findBottomLeftValue(TreeNode root) {
Queue<TreeNode> que = new LinkedList<>();
que.offer(root);
int left = 0;
while(!que.isEmpty())
{
int nums = que.size();
TreeNode l = que.peek();
left = l.val;
while(nums>0)
{
TreeNode t = que.poll();
if(t.left!=null)
que.offer(t.left);
if(t.right!=null)
que.offer(t.right);
nums--;
}
}
return left;
}
}
本文详细介绍了如何使用层序遍历方法找到二叉树最底部的左节点,通过Java实现了一个高效算法。该算法首先将根节点入队,然后逐层处理节点,每次优先处理队首元素,直到队列为空。此过程适用于解决二叉树相关问题,如二叉树的层序遍历等。

被折叠的 条评论
为什么被折叠?



