Find Bottom Left Tree Value
Given a binary tree, find the leftmost value in the last row of the tree.
BFS
Time Complexity
O(N)Space ComplexityO(N)思路
If you fully understand how bfs works, it is a really easy problem. Just add one line into the regular bfs template. if(i == 0) leftMost = cur;
The leftmost will update until the last level.
代码
public int findBottomLeftValue(TreeNode root) { //corner case if(root == null) return 0; Queuequeue = new LinkedList (); queue.offer(root); TreeNode leftMost = null; while(!queue.isEmpty()){ int size = queue.size(); for(int i = 0; i < size; i++){ TreeNode cur = queue.poll(); if(i == 0) leftMost = cur; if(cur.left != null) queue.offer(cur.left); if(cur.right != null) queue.offer(cur.right); } } return leftMost.val;}