这道题让我们求树的最底层的最左边的元素。
解答:
像这种求树的一层中的某个元素的题一般用bps。我们用val记录每一层的第一个元素,用bps遍历到最后,val就是最后一层的第一个元素。
public int findBottomLeftValue(TreeNode root) {
LinkedList<TreeNode> q = new LinkedList<>();
int val = 0;
q.offer(root);
while (!q.isEmpty()) {
val = q.peekFirst().val;
int size = q.size();
for (int i = 0; i < size; i++) {
TreeNode cur = q.poll();
if (cur.left != null) {
q.offer(cur.left);
}
if (cur.right != null) {
q.offer(cur.right);
}
}
}
return val;
}
本文介绍了一种使用BFS(广度优先搜索)算法来查找树的最底层第一个节点的方法,通过维护每层的第一个节点来实现目标。

1880

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



