404. Sum of Left Leaves

来源:互联网 发布:有淘宝卖家手机版本 编辑:程序博客网 时间:2024/06/11 22:34


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

Example:

    3   / \  9  20    /  \   15   7There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int sumOfLeftLeaves(TreeNode root) {        //如果root为空,返回0        if(root==null)        return 0;        //如果左子树即为左叶子节点,则返回左叶子节点的val值+sumOfLeftLeaves(右子树)的值        if(root.left!=null && root.left.left==null && root.left.right==null)        return root.left.val+sumOfLeftLeaves(root.right);        else        //否则返回递归调用sumOfLeftLeaves(左子树)+sumOfLeftLeaves(右子树)的值        return sumOfLeftLeaves(root.left)+sumOfLeftLeaves(root.right);}}

0 0
原创粉丝点击