首页 > 其他 > 详细

LeetCode - 513. Find Bottom Left Tree Value

时间:2017-08-09 18:52:40      阅读:251      评论:0      收藏:0      [点我收藏+]

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
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
import java.util.Queue;
import java.util.LinkedList;
public class Solution {
    
    public int findBottomLeftValue(TreeNode root) {
        if (root == null)
            return 0;
        Queue<TreeNode> q = new LinkedList<TreeNode>();
        q.offer(root);
        int ret = 0;
        while ( ! q.isEmpty()) {
            TreeNode curr = q.peek();
            ret = curr.val;
            int size = q.size();
            while (size-- > 0) {
                TreeNode nodei = q.poll();
                if (nodei.left != null)
                    q.offer(nodei.left);
                if (nodei.right != null)
                    q.offer(nodei.right);
            }
        }
        return ret;
    }
    
    
}

 

LeetCode - 513. Find Bottom Left Tree Value

原文:http://www.cnblogs.com/wxisme/p/7327028.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!