2024-04-14 Daily Challenge

Today I have done leetcode's April LeetCoding Challenge with cpp.

April LeetCoding Challenge 14

Description

Sum of Left Leaves

Given the root of a binary tree, return the sum of all left leaves.

A leaf is a node with no children. A left leaf is a leaf that is the left child of another node.

 

Example 1:

Input: root = [3,9,20,null,null,15,7]
Output: 24
Explanation: There are two left leaves in the binary tree, with values 9 and 15 respectively.

Example 2:

Input: root = [1]
Output: 0

 

Constraints:

  • The number of nodes in the tree is in the range [1, 1000].
  • -1000 <= Node.val <= 1000

Solution

class Solution {
public:
  int sumOfLeftLeaves(TreeNode* root) {
    if(!root) return 0;
    int val = 0;
    if(root->left && !root->left->left && !root->left->right) {
      return root->left->val + sumOfLeftLeaves(root->right);
    }
    return sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);
  }
};

// Accepted
// 100/100 cases passed (4 ms)
// Your runtime beats 71.52 % of cpp submissions
// Your memory usage beats 44.54 % of cpp submissions (13.5 MB)