At first, store the pointer to the first node in inorder traversal (in this
case 5) because its going to be the head of the list.
Then use the following logic.

flattenTree(TreeNode node) {
    if (node is leaf node)
       return node;

    if (node.left exists) then
        flattenTree(node.left)->next = node;

     if (node.right exists) then
        node->next = flattenTree(node.right);

      return node;
}

On Thu, Aug 26, 2010 at 11:07 PM, Yan Wang <[email protected]>wrote:

> I can only figure out the inorder traversal...
>
> On Thu, Aug 26, 2010 at 9:59 AM, krazee koder <[email protected]>
> wrote:
> > Give all possible methods to flatten a binary tree to a linked list.
> >
> > for eg.
> >
> >       50
> >     /     \
> >  25      60
> > /     \     /  \
> > 5    30  55  75
> >
> >
> > should be flattened to  5->25->30->50->55->60->75
> >
> > PS: note that the tree should be converted to the LL and no separate
> > LL should be formed.
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected]<algogeeks%[email protected]>
> .
> > For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<algogeeks%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to