109. Convert Sorted List to Binary Search Tree
2016-05-15 12:35
232 查看
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
题目是将一个有序链表转为平衡二叉树。
题目是将一个有序链表转为平衡二叉树。
class Solution { public: ListNode *findmid(ListNode *head){//快慢指针求中间结点,但返回的是中间结点的前一个 ListNode *s=head; ListNode *f=head->next->next; while(s!=NULL&&f!=NULL&&f->next!=NULL){ s=s->next; f=f->next->next; } return s; } TreeNode* sortedListToBST(ListNode* head) { if(head==NULL)return NULL; else if(head->next==NULL)return new TreeNode(head->val); ListNode *mid=findmid(head); TreeNode *root=new TreeNode(mid->next->val); root->right = sortedListToBST(mid->next->next); mid->next=NULL;//把前半部分的链表末尾置为NULL root->left=sortedListToBST(head); return root; } };
相关文章推荐
- kaggle 入门 digit recognizer python randomForestClassifier
- Unity3D在Windows的全屏和跨屏(双屏)方案
- 【C#公共帮助类】WinRarHelper帮助类,实现文件或文件夹压缩和解压,实战干货
- POJ 1012 Joseph(约瑟夫环)(枚举)
- 了解JavaScript的执行上下文
- 探讨Java验证码制作(上篇)
- LeetCode-85.Maximal Rectangle
- Primefaces menu中的menuitem过多产生的问题
- Android.Hook框架xposed篇(Http流量监控)
- 20145213 16 33 38的小组项目第一周展示
- HDU5616Jam's balance
- spark基础知识二
- VS2010 常用快捷键
- 第八周项目一(3)-数组作数据成员
- 【数据结构】表之顺序表
- 我生命中的钱事:成家与买房!
- 单例模式
- /usr/bin/ld:cannot find -lIN
- HDU5615Jam's math problem
- android插件化开发——加载广播