# Please find the mistake in this code

#1

/**

• Definition for binary tree
• struct TreeNode {
• ``````int val;
``````
• ``````TreeNode *left;
``````
• ``````TreeNode *right;
``````
• ``````TreeNode(int x) : val(x), left(NULL), right(NULL) {}
``````
• };
/
#define ll long long
vector v;
vector<vector> ans;
void rec(TreeNode
A)
{
if(!A)
return;
v.push_back(A->val);
if(!A->right&&!A->left)
ans.push_back(v);
rec(A->left);
rec(A->right);
v.pop_back();
}
ll vi(vector x)
{
reverse(x.begin(), x.end());
ll decimal = 1;
ll total = 0;
for (auto& it : x)
{
total += (it * decimal)%1003;
decimal = 10;
}
}
int Solution::sumNumbers(TreeNode
A) {
ans.clear();
v.clear();
rec(A);
ll sum=0;
for(int i=0;i<ans.size();i++)
{
sum+=vi(ans[i])%1003;
}
return sum%1003;
}
`indent preformatted text by 4 spaces`

#2

Write code properly describing what you have done in each step. otherwise cant help.
Or you can check this beautifully written code in java by me. Like share and Subscribe.

``````public class Solution {
void Helper(TreeNode A, ArrayList<Integer> sum_string, int sum)
{
if(A==null)
{
return;
}

if(A.left==null && A.right==null)
{
sum=((sum*10)%1003+A.val)%1003;
return;
}

sum=((sum*10)%1003+A.val)%1003;

Helper(A.left,sum_string,sum);
Helper(A.right,sum_string,sum);

sum=sum/10;

}
public int sumNumbers(TreeNode A) {

ArrayList<Integer> sum_string=new ArrayList<>();

int path=0;

Helper(A,sum_string,path);

int sum=0;

for(int elem:sum_string)
{
sum=((sum%1003)+(elem%1003))%1003;
}
return sum%1003;
}
``````

}