class Solution {
public:
int sum = 0;
int sumNumbers(TreeNode* root) {
if(!root)
return 0;
backtrack(root, 0);
return sum;
}
void backtrack(TreeNode* root, int val){
if(!root -> left && !root -> right){
sum = sum + val * 10 + root -> val;
return;
}
if(root -> left)
backtrack(root -> left, val * 10 + root -> val);
if(root -> right)
backtrack(root -> right, val * 10 + root -> val);
}
};
Accepted
108/108 cases passed (0 ms)
Your runtime beats 100 % of cpp submissions
Your memory usage beats 65.77 % of cpp submissions (8.9 MB)