Sum of Left Leaves

EasyTreeDepth-First SearchBreadth-First SearchBinary Tree

Solution

import { TreeNode } from '@algorithm/lib';
 
export function sumOfLeftLeaves(root: TreeNode | null): number {
  const sum = (node: TreeNode | null, isLeft = false): number => {
    if (!node) {
      return 0;
    }
    if (!node.left && !node.right) {
      return isLeft ? node.val : 0;
    }
    return sum(node.left, true) + sum(node.right, false);
  };
 
  return sum(root);
}