Sum of Left Leaves
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 }

浙公网安备 33010602011771号