LeetCode Convert Sorted List to Binary Search Tree
2014-03-18 20:59
246 查看
题目:
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
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 binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode *sortedListToBST(ListNode *head) { int cnt = 0; ListNode *cur = head; while(cur != NULL) { cnt++; cur= cur->next; } TreeNode *root = create(head, 0, cnt-1); return root; } private: //自底向上构造树,左边构造完时,创建root,然后构造右子树 TreeNode *create(ListNode *&head, int begin, int end) { if(begin > end) return NULL; int mid = begin + (end-begin)/2; TreeNode *left = create(head, begin, mid-1); TreeNode *root = new TreeNode(head->val); root->left = left; head = head->next; TreeNode *right = create(head, mid+1, end); root->right = right; return root; } };
相关文章推荐
- [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 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 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] 024: Convert Sorted List to Binary Search Tree
- Leetcode143: Convert Sorted List to Binary Search Tree
- Leetcode-Convert Sorted List to Binary Search Tree
- LeetCode笔记:Convert Sorted List to Binary Search Tree