找树左下角的值
给定一个二叉树,在树的最后一行找到最左边的值。
示例 1:
输入:
2
/ \
1 3
输出:
1
思路+代码+注释:
public int findBottomLeftValue(TreeNode root) {
/*
思路:从根节点开始采用BFS,从右往左一层一层遍历树节点将节点添加到nodes集合中,nodes集合的最后一个节点就是最后一层最左边节点
*/
LinkedList<TreeNode> list=new LinkedList<>();
List<TreeNode> nodes=new ArrayList<>();
list.add(root);
while (list.size()>0)
{
TreeNode node=list.poll();
nodes.add(node);
if (node.right!=null)
{
list.add(node.right);
}
if (node.left!=null)
{
list.add(node.left);
}
}
return nodes.get(nodes.size()-1).val;
}