LeetCode:Convert Sorted List to Binary Search Tr
来源:互联网 发布:acfunfix.js 编辑:程序博客网 时间:2024/05/02 04:40
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
给出一个单链表,结点是按元素递增的顺序排序,把链表转换成高度平衡的二叉搜索树
解题分析:
由于链表是按节结点的值递增排序的,因此可以使用双指针,一个快一个慢,遍历到中间部分找到中间结点,然后使用分治法的思想,递归对链表的前半部分和后半部门进行建立。要注意递归的边界出口。
代码如下:
class Solution {public: TreeNode *sortedListToBST(ListNode *head) { return sortedListToBST( head, NULL ); } private: TreeNode *sortedListToBST(ListNode *head, ListNode *tail) { if( head == tail ) return NULL; if( head->next == tail ) // { TreeNode *root = new TreeNode( head->val ); return root; } ListNode *mid = head, *temp = head; while( temp != tail && temp->next != tail ) // 寻找中间节点 { mid = mid->next; temp = temp->next->next; } TreeNode *root = new TreeNode( mid->val ); root->left = sortedListToBST( head, mid ); root->right = sortedListToBST( mid->next, tail ); return root; }};
阅读全文
0 0
- LeetCode:Convert Sorted List to Binary Search Tr
- [leetcode] convert sorted list to binary search
- 【LeetCode】Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Search Tree
- [leetcode][list][dfs] 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 66: 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
- 关于mysql5.7 [Err] 1055 group by
- Centos7 下如何启动 Tomcat
- Response对象和常用API
- [CQOI2015]网络吞吐量
- Maven管理的jar没有发布到WEB-INF/lib下的解决方案
- LeetCode:Convert Sorted List to Binary Search Tr
- javascript var声明变量提升
- python下在txt指定行追加文本
- POJ3977(折半枚举)
- mybatis
- 【Source Insight】Source Insight 4.X 破解教程
- OKhttp网络请求组件的封装
- Android 热修复 关于接入Tinker所遇到的错误
- 简单的ajax+spring使用