排序列表转换为二分查找树-LintCode
来源:互联网 发布:女性情趣用品淘宝 编辑:程序博客网 时间:2024/06/06 17:45
给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树
样例:
#ifndef C106_H#define C106_H#include<iostream>using namespace std;class TreeNode{public: int val; TreeNode *left, *right; TreeNode(int val){ this->val = val; this->left = this->right = NULL; }};class ListNode{public: int val; ListNode *next; ListNode(int val){ this->val = val; this->next = NULL; }};class Solution {public: /** * @param head: The first node of linked list. * @return: a tree node */ TreeNode *sortedListToBST(ListNode *head) { // write your code here if (head == NULL) return NULL; ListNode *dummy = new ListNode(-1); dummy->next = head; ListNode *fast = head, *slow = dummy; while (fast != NULL&&fast->next != NULL) { slow = slow->next; fast = fast->next->next; } TreeNode *root = new TreeNode(slow->next->val); ListNode *second = slow->next->next; slow->next = NULL; ListNode *first = dummy->next; root->left = sortedListToBST(first); root->right = sortedListToBST(second); return root; }};#endif
阅读全文
0 0
- LintCode-排序列表转换为二分查找树
- lintcode-排序列表转换为二分查找树-106
- LintCode:排序列表转换为二分查找树
- lintcode,排序列表转换为二分查找树
- LintCode 106-排序列表转换为二分查找树
- lintcode 排序列表转换为二分查找树(
- LintCode 排序列表转换为二分查找树
- 排序列表转换为二分查找树-LintCode
- 排序列表转换为二分查找树-LintCode
- LINTCODE---排序列表转换为二分查找树
- 排序列表转换为二分查找树
- 排序列表转换为二分查找树
- 排序列表转换为二分查找树
- 排序列表转换为二分查找树
- 排序列表转换为二分查找树
- 题目:排序列表转换为二分查找树
- 排序列表转化为二分查找树
- Java实现-排列列表转换为二分查找树
- JAVA内部类
- iOS启动动画
- android APK应用安装过程以及默认安装路径
- 多数据源配置-使用spring配置多个数据源实现读写分离
- 函数指针和指针函数的区别
- 排序列表转换为二分查找树-LintCode
- JAVA虚拟机系列(六)
- 刨根问底KVC
- UVA1391【LA3713】 经典2-SAT
- Java中String类的concat方法
- MyBatis的resultMap简介
- 基于freemarker在本地生成word(.doc)文档,只看这一篇就够了
- Java学习day5
- Spring框架03