educative.io

Educative

Solution as Per Course Pattern

void SumOfPathNums(TreeNode* root, int pathSum, int& sum) {
  if(root == 0) {
    return;
  }
  pathSum = pathSum * 10 + root->data;
  if(root->left == 0 && root->right == 0) {
    sum += pathSum;
  } else {
    SumOfPathNums(root->left, pathSum, sum);
    SumOfPathNums(root->right, pathSum, sum);
  }
  pathSum -= root->data;
}

int SumOfPathNums(TreeNode* root) {
  int sum = 0;
  int pathSum = 0;
  SumOfPathNums(root, pathSum, sum);
  return sum;
}
1 Like

Dear @Rupinder_Ghotra,

This solution indeed works and fits the course pattern better. Thanks for sharing!