首页 > 代码库 > Convert Binary Search Tree (BST) to Sorted Doubly-Linked List
Convert Binary Search Tree (BST) to Sorted Doubly-Linked List
(http://leetcode.com/2010/11/convert-binary-search-tree-bst-to.html)
Convert a BST to a sorted circular doubly-linked list in-place. Think of the left and right pointers as synonymous to the previous and next pointers in a doubly-linked list.
Code:
void treeToDoublyList(Node *p, Node *& prev, Node *& head){ if (!p) return; treeToDoublyList(p->left, prev, head); p->left = prev; if (prev) prev->right = p; else head = p; prev = p; treeToDoublyList(p->right, prev, head);}Node* treeToDoublyList(Node* root){ Node* prev = NULL; Node* head = NULL; treeToDoublyList(root, prev, head); head->left = prev; prev->right= head; return head;}
Convert Binary Search Tree (BST) to Sorted Doubly-Linked List
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。