Untitled

mail@pastecode.io avatarunknown
plain_text
a month ago
665 B
0
Indexable
Never
class Solution
{
public:
    
    void drive(Node* root, int len,int &maxlen,int sum,int &maxsum){
        if(root==NULL){
            if(len>maxlen){
                maxlen=len;
                maxsum=sum;
            }else if(len==maxlen){
                maxsum=max(sum,maxsum);
            } 
            return;
        }
        
        sum+=root->data;
        
        drive(root->left,len+1,maxlen,sum,maxsum);
        drive(root->right,len+1,maxlen,sum,maxsum);
        
    }
         
    int sumOfLongRootToLeafPath(Node *root)
    {
        int len=0,maxlen=0,sum=0,maxsum=0;
        drive(root,len,maxlen,sum,maxsum);
        return maxsum;
    }
};