Find Bottom Left Tree Value
https://leetcode.com/problems/find-bottom-left-tree-value/description/
Given a binary tree, find the leftmost value in the last row of the tree.
Thoughts
要找最后一层最左的元素,那按层遍历到最后一层即可。
Code
class Solution {
public int findBottomLeftValue(TreeNode root) {
TreeNode lastLeft = root;
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
while (!queue.isEmpty()) {
TreeNode newLeft = null;
int length = queue.size();
for (int i = 0; i < length; i++) {
TreeNode node = queue.remove();
if (node.left != null) {
queue.add(node.left);
}
if (node.right != null) {
queue.add(node.right);
}
if (i == 0) {
lastLeft = node;
}
}
}
return lastLeft.val;
}
}
Analysis
时间复杂度O(n).
Last updated
Was this helpful?