109. Convert Sorted List to Binary Search Tree
1. Description
Given the head of a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.
2. Example
Example 1
Input: head = [-10,-3,0,5,9]
Output: [0,-3,9,-10,null,5]
Explanation: One possible answer is [0,-3,9,-10,null,5], which represents the shown height balanced BST.
Example 2
Input: head = []
Output: []
Example 3
Input: head = [0]
Output: [0]
Example 4
Input: head = [1,3]
Output: [3,1]
3. Constraints
- The number of nodes in head is in the range [0, $2 * 10^4$].
- -10$^{5}$ <= Node.val <= 10$^{5}$
4. Solutions
Binary Search
n is the number of nodes in i_head
Time complexity: O(n)
Space complexity: O($log_2n$) or O(n) with the result’s space
| |