LeetCode OJ - Convert Sorted List to Binary Search Tree
题目:
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
解题思路:
注意是让构造平衡二叉搜索树。
每次将链表从中间断开,分成左右两部分。左边部分用来构造左子树,右边部分用来构造右子树。递归进行求解。
代码:
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 8 */ 9 /** 10 * Definition for binary tree 11 * struct TreeNode { 12 * int val; 13 * TreeNode *left; 14 * TreeNode *right; 15 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 16 * }; 17 */ 18 class Solution { 19 public: 20 TreeNode *sortedListToBST(ListNode *head) { 21 if (head == NULL) return NULL; 22 23 ListNode *slow = head, *fast = head, *pre = NULL; 24 do { 25 fast = fast->next; 26 if (fast == NULL) break; 27 fast = fast->next; 28 29 pre = slow; 30 slow = slow->next; 31 } while (fast != NULL); 32 33 TreeNode * root = new TreeNode(slow->val); 34 if (pre != NULL) { 35 pre->next = NULL; 36 root->left = sortedListToBST(head); 37 } 38 else { 39 root->left = NULL; 40 } 41 TreeNode * right_root = sortedListToBST(slow->next); 42 root->right = right_root; 43 if (pre != NULL) pre->next = slow; 44 return root; 45 } 46 };
转载于:https://www.cnblogs.com/dongguangqing/p/3728160.html
LeetCode OJ - Convert Sorted List to Binary Search Tree相关推荐
- LeetCode: 109. Convert Sorted List to Binary Search Tree
题目 Given a singly linked list where elements are sorted in ascending order, convert it to a height b ...
- 【链表递归构造二叉树】LeetCode 109. Convert Sorted List to Binary Search Tree
LeetCode 109. Convert Sorted List to Binary Search Tree Solution1:我的答案 偷鸡摸狗的做法 /*** Definition for s ...
- 【数组递归构造二叉树】LeetCode 108. Convert Sorted Array to Binary Search Tree
LeetCode 108. Convert Sorted Array to Binary Search Tree Solution1:我的答案 构造二叉树利用递归 /*** Definition fo ...
- leetcode -day19 Convert Sorted List to Binary Search Tree
1. Convert Sorted List to Binary Search Tree Given a singly linked list where elements are sorted ...
- LeetCode: 108. Convert Sorted Array to Binary Search Tree
题目 Given an array where elements are sorted in ascending order, convert it to a height balanced BST. ...
- LeetCode 108. Convert Sorted Array to Binary Search Tree
题目: Given an array where elements are sorted in ascending order, convert it to a height balanced BST ...
- leetcode 108. Convert Sorted Array to Binary Search Tree | 108. 将有序数组转换为二叉搜索树(Java)
题目 https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ 题解 经典二分,不解释了,直接看代码 /*** ...
- LeetCode 109. Convert Sorted List to Binary Search Tree
Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...
- Convert Sorted Array to Binary Search Tree - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Convert Sorted Array to Binary Search Tree - LeetCode 注意点 不要访问空结点 题目要求的是平衡二叉搜 ...
最新文章
- numa节点_漫步云端NUMA调度
- 关于fmincon和cvx
- docker环境安装,镜像和容器常用命令
- 容器底层实现技术Namespace/Cgroup
- iPhone软件开发新突破,真正VoIP通话
- 网站集成支付宝接口安装教程
- 华为杯数学建模2020什么时候出结果_关于东北三省数学建模联赛及“华为杯”研究生数学建模竞赛的通知...
- html2canvas在iphone7 iphonex都生成不了
- python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...
- android.jar 重新编译,android的framework.jar反编译,并重新编译
- 创翼linux版本,创翼电信客户端for Mac-创翼客户端Mac版下载 V1.3.7-PC6苹果网
- python 华泰股票交易接口_TradeApi 自带资金管理的A股程序化交易接口
- 全国计算机演示文稿,全国计算机统考押题——演示文稿
- Python数据分析第七课:时间序列数据的处理
- Ubuntu下重力方向调节
- 使用AJAX的10个商业动机 {转}
- 脑机接口005 | “中国脑计划”:向最后的前沿进发!
- 《我和这个世界不熟》——北岛
- 艺术家已经失业,下一个会是谁?
- rem介绍、vw、vh实现等比例缩放
热门文章
- PHP 过滤器(Filter)
- 单片机小白学步系列(十五) 单片机程序下载失败总结
- dibian+9+oracle+java_debian – 安装了Oracle Java,但在安装软件时,我得到了`你的Java版本不受支持....
- linux 内核主线,为AM335x移植Linux内核主线代码(41)Ethernet结论篇
- mysql各种联结的区别_mysql几种连接方式区别
- en55032最新标准下载_大型设备塔吊安装维保、安全检查及案例,94页PPT下载!
- 《Neural Networks for Machine Learning》学习二
- js控制a标签点击事件 触发下载
- window.onload和$(document).ready(function(){})的区别
- depends用于测试程序运行所缺少的文件,可以帮我们很快找到问题