Sum of Left Leaves
Problem
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.
Constraints
- The number of nodes in the tree is in the range
[1, 1000]
. -1000 <= Node.val <= 1000
Solution
The problem Sum of Left Leaves
can be solved by iterating through all combinations of possible time and checking if the sum of number of bits for hour and minute is equal to turnedOn
.
Implementation
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution
{
public:
int sumOfLeftLeaves(TreeNode *root)
{
if (root == NULL)
return 0;
if (root->left != NULL && root->left->left == NULL && root->left->right == NULL)
return root->left->val + sumOfLeftLeaves(root->right);
else
return sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);
}
};