码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 404. Sum of Left Leaves

时间:2017-12-02 23:24:46      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:代码   microsoft   link   ftl   思路   nbsp   tle   find   ==   

Find the sum of all left leaves in a given binary tree.

Example:

    3
   /   9  20
    /     15   7

There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.

题意:给定一颗二叉树,返回该二叉树的左叶子结点的和
思路:层次遍历,然后判断每个结点是否为左叶子结点,如果当前结点是左叶子结点则加进sum,代码如下:
public int sumOfLeftLeaves(TreeNode root) {
        if(root == null)
            return 0;
        int sum = 0;
        Queue<TreeNode> q = new LinkedList<>();
        q.offer(root);
        while(!q.isEmpty()){
            TreeNode t = q.poll();
            sum += isLeftLeaf(t);
            if(t.left != null){
                q.offer(t.left);
            }
            if(t.right != null){
                q.offer(t.right);
            }
        }
        return sum;
    }
    public int isLeftLeaf(TreeNode t){
        if(t.left != null){
            if(t.left.left == null && t.left.right == null)
               return t.left.val;
        }
        return 0;
    }

 

 

LeetCode 404. Sum of Left Leaves

标签:代码   microsoft   link   ftl   思路   nbsp   tle   find   ==   

原文地址:http://www.cnblogs.com/zeroingToOne/p/7955752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!