Untitled

mail@pastecode.io avatarunknown
plain_text
2 months ago
735 B
1
Indexable
Never
void trav(TreeNode<int>* root,vector<int>  &inorder){ //pass by ref
    if(root==NULL) return ;
    if(root->left) trav(root->left,inorder);
    inorder.push_back(root->data);
    if(root->right) trav(root->right,inorder);
    //return ans;
}


TreeNode<int>* flatten(TreeNode<int>* root) //return head of list
{
     vector<int> inorder;
     trav(root,inorder);
     int n=inorder.size();
     TreeNode<int> *head =new TreeNode<int>(inorder[0]);
     TreeNode<int> *curr= head;
     for(int i=1;i<n;i++){
        TreeNode<int> *tmp =new TreeNode<int>(inorder[i]);
        curr->left=NULL;
        curr->right=tmp;
        curr=tmp;
     }
     curr->left=NULL;
     curr->right=NULL;
     return head;
}