i just want to know difference between these two function
code 1
void rview(treenode *root,int level,int *maxlevel)
{
if(root==NULL)
return;
if(*maxlevel<level)
{
*maxlevel=level;
cout<<root->val<<" ";
}
rview(root->right,level+1,maxlevel);
rview(root->left,level+1,maxlevel);
}
void right_view(treenode *root)
{
int maxlevel=-1;
rview(root,1,maxlevel);
}
code 2
void rview(treenode *root,int level,int maxlevel)
{
if(root==NULL)
return;
if(maxlevel<level)
{
maxlevel=level;
cout<<root->val<<" ";
}
rview(root->right,level+1,maxlevel);
rview(root->left,level+1,maxlevel);
}
void right_view(treenode *root)
{
int maxlevel=-1;
rview(root,1,maxlevel);
}
both this function give different output in below code
i know the concept of pass by value and pass by reference