标签:
(http://leetcode.com/2010/11/convert-sorted-list-to-balanced-binary.html)
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
Code:
BinaryTree* sortedListToBST(ListNode *& list, int start, int end) { if (start > end) return NULL; int mid = start + (end - start) / 2; BinaryTree* leftChild = sortedListToBST(list, start, mid-1); BinaryTree* parent = new BinaryTree(list->data); parent->left = leftChild; list = list->next; parent->right = sortedListToBST(list, mid+1, end); return parent; } BinaryTree* sortedListToBST(ListNode* head, int n) { return sortedListToBST(head, 0, n-1); }
Convert Sorted List to Balanced Binary Search Tree (BST)
标签:
原文地址:http://www.cnblogs.com/litao-tech/p/4232309.html