15 Jun 2024C++ / Python / TypeScriptEasy

Sum of Left Leaves

Collected C++, Python, TypeScript solutions for sum of left leaves. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Sum of Left Leaves. the solution files are available below.

solution files

  • C++ sum-of-left-leaves/synced-solution.cpp
  • Python sum-of-left-leaves/synced-solution.py
  • TypeScript sum-of-left-leaves/synced-solution.ts

Solution files

Pythonsum-of-left-leaves/synced-solution.py
def sumOfLeftLeaves(root):
    def dfs(node, is_left):
        if not node:
            return class="syntax-number">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 class="syntax-number">0;

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

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

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

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

    return dfs(root, false);
}