Untitled
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; }