Sunday, January 18, 2015

[Algorithm] Flatten Binary Tree to Doubly Linked List As Preorder


这道题是要在flatten to linkedlist的基础上做略微的修改就可以,只要把左指针指向list中前一个node即可,代码如下:
如果要求constant space的话,个人想不到很好的方法,inorder和postorder的constant space用morris traversal可以达到,preorder的话,备份右子结点的话不好处理,由于访问这个节点的时候就要改右指针,再次回到这个节点的时候右子结点就不一样了,所以要备份路径上所有节点的右子节点,constant space没法做到,不知道有没有其他的方法。

No comments:

Post a Comment