513. Find Bottom Left Tree Value(得到左下角的节点)(树的层次遍历)

Given a binary tree, find the leftmost value in the last row of the tree.

Example 1:

Input:

    2
   / \
  1   3

Output:
1

 

Example 2: 

Input:

        1
       / \
      2   3
     /   / \
    4   5   6
       /
      7

Output:
7

 

Note: You may assume the tree (i.e., the given root node) is not NULL.

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public int findBottomLeftValue(TreeNode root) {
        if(root==null) return -1;
        Queue<TreeNode> queue=new LinkedList<TreeNode>();
        queue.add(root);
        while (!queue.isEmpty()){
            root=queue.poll();
            if(root.right!=null)    queue.add(root.right);
            if(root.left!=null)    queue.add(root.left);
        }
        return root.val;
    }
}

 

posted on 2019-04-09 09:47  shaer  阅读(107)  评论(0编辑  收藏  举报

导航