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 有序链表转换二叉搜索树相关推荐

  1. LeetCode 109. 有序链表转换二叉搜索树(快慢指针+递归)

    1. 题目 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 来源:力扣(LeetC ...

  2. Leetcode 109.有序链表转换二叉搜索树

    Time: 20190901 Type: Meidum 题目描述 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子 ...

  3. Leetcode 109. 有序链表转换二叉搜索树 解题思路及C++实现

    方法一:将链表转为数组来处理 解题思路: 因为链表不好处理,所以我先把链表处理成数组,因为是一个升序数组,所以直接将中间的数当成根结点,然后对左半部分的节点和右半部分的节点进行递归构建二叉搜索树. 在 ...

  4. LeetCode 109. 有序链表转换二叉搜索树

    思路: 快慢指针找到中间节点,中间节点为根节点, 将链表分为左右两部分(注意前半部分节点next置null),左部分为左子树,右部分为右子树 递归实现左右子树,返回根节点 public static ...

  5. ( “树” 之 BST) 109. 有序链表转换二叉搜索树 ——【Leetcode每日一题】

    二叉查找树(BST):根节点大于等于左子树所有节点,小于等于右子树所有节点. 二叉查找树中序遍历有序. 109. 有序链表转换二叉搜索树 给定一个单链表的头节点 head ,其中的元素 按升序排序 , ...

  6. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  7. 109. 有序链表转换二叉搜索树

    链接:109. 有序链表转换二叉搜索树 题解:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/so ...

  8. leetcode 109 --- 有序链表变成二叉搜索树

    1 题目 给定一个单链表,其中的元素按升序排序,请将它转化成平衡二叉搜索树(BST) 2 解法 2.1 转化有序链表为数组 /*** struct TreeNode {* int val;* stru ...

  9. 【算法】有序链表转换二叉搜索树和从中序与后序遍历序列构造二叉树Java解答参考

    三道算法题 1.有序链表转换二叉搜索树 Java代码参考 2.从中序与后序遍历序列构造二叉树 Java代码参考 3.移除元素 Java代码参考 1.有序链表转换二叉搜索树 给定一个单链表,其中的元素按 ...

最新文章

  1. MIS开发中C/S模式与B/S模式的结合策略
  2. css 渐变色_如何设置渐变色的单元格值?
  3. Linux SSH Publickey登录
  4. bzoj 2502: 清理雪道(有下界的最小流)
  5. 在Win10与Ubuntu双系统中删除Ubuntu
  6. 易班打卡——自动填写健康日报
  7. Linux学习-02-Linux的安装
  8. 你敢信?码农靠倒卖烂水果,融资上亿
  9. Java通过substring截取指定字符
  10. echarts+vue中国地图,点击进入省级地图
  11. qpainter可以设置某像素点的颜色吗_你知道人类眼球的内在价值高达35亿美金吗?...
  12. 主动提交sitemap让谷歌、雅虎、MSN统统收录你的网站、博客
  13. 2023年山东大学849软件工程专业考研全套下载
  14. 上游模式用于实验室用冷冻机压力和真空度的高精度控制
  15. 21315陈泽华——个人征信体系的构成
  16. 华硕灵耀X双屏怎么样?华硕灵耀x2双屏缺点?详细性能评测
  17. STM32F103ZET6器件功能配置和元器件选型
  18. 导弹拦截系统(贪心基础)
  19. 三角定位PHP实现,算法 – 三角定位和定位点(x,y,z)
  20. 荣辱不惊 看庭前花开花落;去留无意 望天上云卷云舒

热门文章

  1. 小米刷机OTA、 Recovery、 FASTBOOT三种方法直接的区别和联系
  2. arcgis python脚本筛选与线共边的面_ArcGIS公共函数Python脚本,Arcgis,常用,功能
  3. adf盖怎么打开_兄弟7470d显示ADF盖打开是什么问?
  4. 【她的心你伤的起吗?】
  5. Python哲学之import this,诠释代码之美
  6. 共享充电宝有什么好拍? | 拍者手记
  7. 哪些字段适合建立索引
  8. Photoshop制作剔透魔法水晶球
  9. 谷歌测试工具_使用Google网站优化工具进行A / B测试的指南
  10. 来自帅气博主的c语言文案