目标节点的特征 用层次遍历,节点必定在最后一层,先入队右子树再入队左子树,那么队列的最后一个节点一定就是要找的节点,
如何找到队列的最后一个节点呢,该节点就是队列不为空时最后一个头部节点值,
Find Bottom Left Tree Value
Given a binary tree, find the leftmost value in the last row of the tree
Example 1:
Input: Output:1
2
/ \
1 3
Example 2:
Input: output 7
1
/ \
2 3
/ / \
4 5 6
/
7
//先入右节点再入左节点,这样最后剩余的那个就是最后一层的最左边的节点
class Solution {
public int findBottomLeftValue(TreeNode root) {
Queue<TreeNode> que=new LinkedList<>();
que.add(root);
TreeNode node=null;
while(!que.isEmpty()){
node=que.poll();
if(node.right!=null){
que.add(node.right);
}
if(node.left!=null){
que.add(node.left);
}
}
return node.val;
}
}