题目描述
给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。
本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。
示例:
1 | 给定的有序链表: [-10, -3, 0, 5, 9], |
题解
先序遍历+递归
先将链表转换成一个列表, 然后按照先序遍历的顺序, 二分查找生成节点
1 | public class lc109 { |
快慢指针
不将链表转换成列表, 使用快慢指针的方法也能实现对应的功能, 目的就是为了找出中点嘛
1 | class Solution { |