Isaac Emmanuel
15 Jun 2024•EasyC++ / Python / TypeScript

Sum of Left Leaves

C++, Python and TypeScript solutions for Sum of Left Leaves.

The Sum of Left Leaves solutions are below.

Solution files

Python•sum-of-left-leaves/synced-solution.py
def sumOfLeftLeaves(root):
    def dfs(node, is_left):
        if not node:
            return 0

        if not node.left and not node.right and is_left:
            return node.val

        return dfs(node.left, True) + dfs(node.right, False)

    return dfs(root, False)
C++•sum-of-left-leaves/synced-solution.cpp
class Solution {
public:
    int sumOfLeftLeaves(TreeNode* root) {
        return dfs(root, false);
    }

private:
    int dfs(TreeNode* node, bool isLeft) {
        if (!node) return 0;

        if (!node->left && !node->right && isLeft) {
            return node->val;
        }

        return dfs(node->left, true) + dfs(node->right, false);
    }
};
TypeScript•sum-of-left-leaves/synced-solution.ts
function sumOfLeftLeaves(root: TreeNode | null): number {
    function dfs(node: TreeNode | null, isLeft: boolean): number {
        if (!node) return 0;

        if (!node.left && !node.right && isLeft) {
            return node.val;
        }

        return dfs(node.left, true) + dfs(node.right, false);
    }

    return dfs(root, false);
}