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.
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public int sumOfLeftLeaves(TreeNode root) { if(root == null){ return 0; } return sumOfLeftLeaves(root, false); } private int sumOfLeftLeaves(TreeNode node, boolean isLeft){ if(node == null){ return 0; } int sum = 0; if(node.left != null || node.right != null){ sum = sum + sumOfLeftLeaves(node.left, true); sum = sum + sumOfLeftLeaves(node.right, false); } else if(isLeft) { sum = sum+node.val; } return sum; } }