给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。
    假设二叉树中至少有一个节点。

    分析:思路一开始还是考虑使用递归还是迭代,虽然都可以做,但从本题来开,使用层序遍历的迭代法无疑思路会清晰一些,因为使用递归的话,无法确定是否当前值就是左下角的值,因为有可能不是最后一层就结束了。

    层序遍历:
    public int findBottomLeftValue(TreeNode root) {
    Queue queue = new LinkedList<>();
    if(root==null) return 0;
    queue.offer(root);
    int ret=root.val;
    while(!queue.isEmpty()){
    int size=queue.size();
    ret = queue.peek().val; //在每层遍历的时候记录第一个值用来更新ret
    while(size>0){
    TreeNode tmp = queue.poll();
    if(tmp.left!=null) queue.offer(tmp.left);
    if(tmp.right!=null) queue.offer(tmp.right);
    size—;
    }
    }
    return ret;
    }