LeetCode | Convert Sorted List to Binary Search Tree
2013-09-22 16:00
281 查看
题目:
Given a singly linked list where elements are sorted in ascending order, convert it to a height balancedBST.
思路:
类似/article/1382589.html,不过需要利用链表的方式找到中间节点。代码:
/** * 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: ListNode* getMid(ListNode *head, ListNode *tail) { if(head == tail) return NULL; else { ListNode * slow=head; ListNode * fast=head; while(fast != tail && fast->next != tail) { slow = slow->next; fast = fast->next->next; } return slow; } } TreeNode *sortedListToBST(ListNode *head) { // Start typing your C/C++ solution below // DO NOT write int main() function return sortedArrayToBST(head, NULL); } TreeNode *sortedArrayToBST(ListNode *head, ListNode *tail) { ListNode * p = getMid(head, tail); if(p == NULL) { return NULL; } else { TreeNode * parent = new TreeNode(p->val); parent->left = sortedArrayToBST(head, p); parent->right = sortedArrayToBST(p->next, tail); return parent; } } };
相关文章推荐
- 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
- LeetCode109 Convert Sorted List to Binary Search Tree
- leetcode -- Convert Sorted Array/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, Solution
- 【LeetCode-109】Convert Sorted List to Binary Search Tree
- LeetCode | Convert Sorted List to Binary Search Tree
- [LeetCode-24]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 (BST)
- LeetCode题解——Convert Sorted List to Binary Search Tree