首页 > 代码库 > 404. Sum of Left Leaves

404. Sum of Left Leaves

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.

 思路:到leaf的时候判断是不是left leaf。用一个boolean function来记录搜索的是左枝还是右枝。

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    private int sum=0;    public int sumOfLeftLeaves(TreeNode root) {        dfs(root,false);        return sum;    }    public void dfs(TreeNode root, boolean left)    {        if(root==null)        {            return ;        }        if(root.left==null&&root.right==null)        {            sum=left?sum+root.val:sum;        }        dfs(root.left,true);        dfs(root.right,false);    }}

 

404. Sum of Left Leaves