有序链表转换二叉搜索树」,难度为「中等」
Tag : 「二叉树」、「树的搜索」、「分治」、「中序遍历」
给定一个单链表的头节点 head,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。...本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过
1
。...示例 1:
输入: head = [-10,-3,0,5,9]
输出: [0,-3,9,-10,null,5]
解释: 一个可能的答案是[0,-3,9,-10,null,5],它表示所示的高度平衡的二叉搜索树...该做法每个节点的访问次数为在递归过程中被
[l, r]
所覆盖的次数,我们知道一个节点数量为
n
的平衡 BST 树高为
\log{n}
,因此整体复杂度为
O(n\log{n})
。...nums 本身严格有序,而 BST 的中序遍历亦是有序。