题目
给定一个二叉树,在树的最后一行找到最左边的值。
示例 1:
输入:
2
/ \
1 3
输出:
1
示例 2:
输入:
1
/ \
2 3
/ / \
4 5 6
/
7
输出:
7
注意: 您可以假设树(即给定的根节点)不为 NULL。
解决
思路
既然是找最左下角的值,那么我只要从右往左层序遍历找到最后一个点就好了
代码
class Solution {
public int findBottomLeftValue(TreeNode root) {
//从右向左层序遍历
int res=root.val;
Queue<TreeNode> queue=new LinkedList<TreeNode>();
queue.offer(root);
TreeNode p=root;
while(!queue.isEmpty()){
p=queue.poll();
res=p.val;
if(p.right!=null) queue.offer(p.right);
if(p.left!=null) queue.offer(p.left);
}
return res;
}
}