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 }