Doubly Linked List

使用DoubleLinkedList,通过两个指针,使得对任意node的delete/insert/update操作都是O(1)的。

Convert Binary Search Tree to Doubly Linked List

  • 依旧是inorder traverse,
    1. D&C,左子树转化成DLL
    2. root node的前一个节点,是左子树的最右节点rightMost(left)
    3. node.prev.next = node完成doubly linked
    4. 同理对于右子树来说 node.next.pre = node
    5. 最后返回的是leftMost(node)

results matching ""

    No results matching ""