您的位置:首页 > 其它

Sum of Left Leaves

2016-12-02 05:56 239 查看
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.


1 /**
2  * Definition for a binary tree node.
3  * public class TreeNode {
4  *     int val;
5  *     TreeNode left;
6  *     TreeNode right;
7  *     TreeNode(int x) { val = x; }
8  * }
9  */
10 public class Solution {
11     public int sumOfLeftLeaves(TreeNode root) {
12         int[] total = new int[1];
13         helper(root, false, total);
14         return total[0];
15     }
16
17     void helper(TreeNode root, boolean isLeft, int[] total) {
18         if (root == null) return;
19         if (root.left == null && root.right == null) {
20             if (isLeft) {
21                 total[0] += root.val;
22             }
23             return;
24         }
25
26         helper(root.left, true, total);
27         helper(root.right, false, total);
28
29     }
30 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: