Java实现 LeetCode 109 有序链表转换二叉搜索树
109. 有序链表转换二叉搜索树
给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。
本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。
示例:
给定的有序链表: [-10, -3, 0, 5, 9],
一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树:
0/ \-3 9/ /-10 5
class Solution {public TreeNode sortedListToBST(ListNode head) {if(head == null) return null;else if(head.next == null) return new TreeNode(head.val);ListNode pre = head;ListNode p = pre.next;ListNode q = p.next;//找到链表的中点pwhile(q!=null && q.next!=null){pre = pre.next;//p走一倍的速度p = pre.next;//q走两倍的速度q = q.next.next;}//将中点左边的链表分开pre.next = null;TreeNode root = new TreeNode(p.val);root.left = sortedListToBST(head);root.right = sortedListToBST(p.next);return root;}
}
Java实现 LeetCode 109 有序链表转换二叉搜索树相关推荐
- LeetCode 109. 有序链表转换二叉搜索树(快慢指针+递归)
1. 题目 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 来源:力扣(LeetC ...
- Leetcode 109.有序链表转换二叉搜索树
Time: 20190901 Type: Meidum 题目描述 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子 ...
- Leetcode 109. 有序链表转换二叉搜索树 解题思路及C++实现
方法一:将链表转为数组来处理 解题思路: 因为链表不好处理,所以我先把链表处理成数组,因为是一个升序数组,所以直接将中间的数当成根结点,然后对左半部分的节点和右半部分的节点进行递归构建二叉搜索树. 在 ...
- LeetCode 109. 有序链表转换二叉搜索树
思路: 快慢指针找到中间节点,中间节点为根节点, 将链表分为左右两部分(注意前半部分节点next置null),左部分为左子树,右部分为右子树 递归实现左右子树,返回根节点 public static ...
- ( “树” 之 BST) 109. 有序链表转换二叉搜索树 ——【Leetcode每日一题】
二叉查找树(BST):根节点大于等于左子树所有节点,小于等于右子树所有节点. 二叉查找树中序遍历有序. 109. 有序链表转换二叉搜索树 给定一个单链表的头节点 head ,其中的元素 按升序排序 , ...
- 【LeetCode每日一题】——109.有序链表转换二叉搜索树
文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...
- 109. 有序链表转换二叉搜索树
链接:109. 有序链表转换二叉搜索树 题解:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/so ...
- leetcode 109 --- 有序链表变成二叉搜索树
1 题目 给定一个单链表,其中的元素按升序排序,请将它转化成平衡二叉搜索树(BST) 2 解法 2.1 转化有序链表为数组 /*** struct TreeNode {* int val;* stru ...
- 【算法】有序链表转换二叉搜索树和从中序与后序遍历序列构造二叉树Java解答参考
三道算法题 1.有序链表转换二叉搜索树 Java代码参考 2.从中序与后序遍历序列构造二叉树 Java代码参考 3.移除元素 Java代码参考 1.有序链表转换二叉搜索树 给定一个单链表,其中的元素按 ...
最新文章
- MIS开发中C/S模式与B/S模式的结合策略
- css 渐变色_如何设置渐变色的单元格值?
- Linux SSH Publickey登录
- bzoj 2502: 清理雪道(有下界的最小流)
- 在Win10与Ubuntu双系统中删除Ubuntu
- 易班打卡——自动填写健康日报
- Linux学习-02-Linux的安装
- 你敢信?码农靠倒卖烂水果,融资上亿
- Java通过substring截取指定字符
- echarts+vue中国地图,点击进入省级地图
- qpainter可以设置某像素点的颜色吗_你知道人类眼球的内在价值高达35亿美金吗?...
- 主动提交sitemap让谷歌、雅虎、MSN统统收录你的网站、博客
- 2023年山东大学849软件工程专业考研全套下载
- 上游模式用于实验室用冷冻机压力和真空度的高精度控制
- 21315陈泽华——个人征信体系的构成
- 华硕灵耀X双屏怎么样?华硕灵耀x2双屏缺点?详细性能评测
- STM32F103ZET6器件功能配置和元器件选型
- 导弹拦截系统(贪心基础)
- 三角定位PHP实现,算法 – 三角定位和定位点(x,y,z)
- 荣辱不惊 看庭前花开花落;去留无意 望天上云卷云舒
热门文章
- 小米刷机OTA、 Recovery、 FASTBOOT三种方法直接的区别和联系
- arcgis python脚本筛选与线共边的面_ArcGIS公共函数Python脚本,Arcgis,常用,功能
- adf盖怎么打开_兄弟7470d显示ADF盖打开是什么问?
- 【她的心你伤的起吗?】
- Python哲学之import this,诠释代码之美
- 共享充电宝有什么好拍? | 拍者手记
- 哪些字段适合建立索引
- Photoshop制作剔透魔法水晶球
- 谷歌测试工具_使用Google网站优化工具进行A / B测试的指南
- 来自帅气博主的c语言文案