【Lintcode】106.Convert Sorted List to Balanced BST
2024-08-28 07:34:24
题目:
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
Example
2
1->2->3 => / \
1 3
题解:
Solution 1 ()
class Solution {
public:
TreeNode *sortedListToBST(ListNode *head) {
if (!head) return nullptr; return sortedListToBST(head, nullptr);
}
TreeNode *sortedListToBST(ListNode* head, ListNode* tail) {
if (head == tail) return nullptr;
ListNode* mid = head, *tmp = head; while (tmp != tail && tmp->next != tail) {
mid = mid->next;
tmp = tmp->next->next;
}
TreeNode* root = new TreeNode(mid->val);
root->left = sortedListToBST(head, mid);
root->right = sortedListToBST(mid->next, tail); return root;
} };
Solution 2 ()
class Solution {
public:
TreeNode* sortedListToBST(ListNode* head) {
if (head == nullptr)
return nullptr;
ListNode* fast = head;
ListNode* slow = head;
ListNode* prev = nullptr;
while (fast != nullptr && fast->next != nullptr)
{
fast = fast->next->next;
prev =slow;
slow = slow->next;
}
TreeNode* root = new TreeNode(slow->val);
if (prev != nullptr)
prev->next = nullptr;
else
head = nullptr; root->left = sortedListToBST(head);
root->right = sortedListToBST(slow->next); return root;
} };
最新文章
- 转:解决npm install慢的问题
- Problems with MMM for mysql(译文)
- calender 软文
- 336-Palindrome Pairs
- jQuery使用经验建议
- phpstorm的调试工具xdebug
- 【dom4j】解析xml为map
- mybatis重拾---部署官方demo
- JavaScript之引用类型介绍
- nginx 提供静态内容
- 2016.10.08--Intel Code Challenge Final Round--D. Dense Subsequence
- 操作系统学习笔记----进程/线程模型----Coursera课程笔记
- 最强离线安装MySQL_8.0.2方法
- PKI(公钥基础设施)基础知识笔记
- HTML5发布的意义
- ES6的Map如何遍历
- Java web现在流行用什么框架?
- 详解管理root用户权限的sudo服务程序
- [LeetCode&;Python] Problem 682. Baseball Game
- 简单说说SpringMVC
热门文章
- Spring学习十五----------Spring AOP API的Pointcut、advice及 ProxyFactoryBean相关内容
- ZooKeeper 系列(一)—— ZooKeeper核心概念详解
- java 获取微信 页面授权 获取用户openid
- Linux 进程状态 说明
- 关于打开sdk下载不了的最优秀解决方式
- jQuery中slideToggle()的详细使用方法和解释
- AWS:2.根设备类型、EC2生命周期状态、User Data
- 2.2链表 链表中倒数第k个结点
- 【zabbix】微信告警消息模版
- Java for LeetCode 105 Construct Binary Tree from Preorder and Inorder Traversal