leetcode---Convert Sorted List to Binary Search Tree---二叉搜索树
2016-09-20 20:38
417 查看
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* make(ListNode* head, int low, int high) { if(low > high) return NULL; int mid = (low + high) / 2; ListNode *p = head; for(int i=low; i <mid; i++) { p = p->next; } TreeNode *root = new TreeNode(p->val); root->left = make(head, low, mid-1); root->right = make(p->next, mid+1, high); return root; } TreeNode* sortedListToBST(ListNode* head) { int n = 0; ListNode *p = head; while(p) { n++; p = p->next; } return make(head, 0, n-1); } };
相关文章推荐
- [Leetcode] Convert sorted list to binary search tree 将排好的链表转成二叉搜索树
- [LeetCode] Convert Sorted List to Binary Search Tree 将有序链表转为二叉搜索树
- 有序递增链表转化为平衡的二叉搜索树(LeetCode: Convert Sorted List to Binary Search Tree )
- LeetCode | Convert Sorted List to Binary Search Tree(链表转换成二叉搜索树)
- [LeetCode 109] - 将已排序链表转换为二叉搜索树 (Convert Sorted List to Binary Search Tree)
- Leetcode Convert Sorted List to Binary Search Tree 把有序链表转换成二叉搜索树
- [LeetCode] Convert Binary Search Tree to Sorted Doubly Linked List 将二叉搜索树转为有序双向链表
- [Leetcode] Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- [Leetcode]Convert Sorted List to Binary Search Tree
- LeetCode-Convert Sorted List to Binary Search Tree
- [LeetCode] Convert Sorted List to Binary Search Tree
- Leetcode: Convert Sorted List to Balanced Binary Search Tree
- Leetcode: Convert Sorted List to Binary Search Tree
- [LeetCode] Convert Sorted List to Binary Search Tree, Solution
- leetcode -- Convert Sorted List to Binary Search Tree
- LeetCode_Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- LeetCode: Convert Sorted List to Binary Search Tree
- [LeetCode] Convert Sorted List to Binary Search Tree