LeetCode 404 : Sum of Left Leaves
Solution to Sum of Left Leaves Problem. Here is a nice video which explains the approach.
Solution 1
class Solution {
public int sumOfLeftLeaves(TreeNode root) {
if(root == null)
return 0;
if(root.left != null && isLeafNode(root.left)) {
return root.left.val + sumOfLeftLeaves(root.left) + sumOfLeftLeaves(root.right);
} else {
return sumOfLeftLeaves(root.left) + sumOfLeftLeaves(root.right);
}
}
private boolean isLeafNode(TreeNode node) {
return node.left == null && node.right == null;
}
}
Solution 2
class Solution {
public int sumOfLeftLeaves(TreeNode root) {
return findSum(root, null);
}
private int findSum(TreeNode node, TreeNode parent) {
if(node == null)
return 0;
int curSum = 0;
if(parent != null && parent.left == node && isLeafNode(node))
curSum = node.val;
return curSum + findSum(node.left, node)
+ findSum(node.right, node);
}
private boolean isLeafNode(TreeNode node) {
return node.left == null && node.right == null;
}
}