Ejemplo n.º 1
0
 int sumNumbersHelper(TreeNode* root, int sum){
   if (!root)
     return 0;
   if (!root->left && !root->right)
     return sum * 10 + root->val;
   return sumNumbersHelper(root->left, sum * 10 + root->val) + sumNumbersHelper(root->right, sum * 10 + root->val);
 }
 void sumNumbersHelper(TreeNode *node, int num, int &sum) {
     if (!node) return;
     num = num * 10 + node->val;
     if (!node->left && !node->right) { 
         sum += num;
         return;
     }
     sumNumbersHelper(node->left, num, sum);
     sumNumbersHelper(node->right, num, sum);
 }
Ejemplo n.º 3
0
void sumNumbersHelper(struct TreeNode* root, int* sum, int num) {
    if (root == NULL) return;

    num = num * 10 + root->val;
    if (root->left == NULL && root->right == NULL) {
        *sum += num;
        return;
    }

    sumNumbersHelper(root->left, sum, num);
    sumNumbersHelper(root->right, sum, num);
}
Ejemplo n.º 4
0
int sumNumbers(struct TreeNode* root) {
    if (root == NULL) return 0;

    int sum = 0, num = 0;
    sumNumbersHelper(root, &sum, num);

    return sum;
}
 int sumNumbers(TreeNode *root) {
     int sum = 0;
     sumNumbersHelper(root, 0, sum);
     return sum;
 }
Ejemplo n.º 6
0
 int sumNumbers(TreeNode* root) {
   return sumNumbersHelper(root, 0);
 }