Talentd
FleetCode

109. Convert Sorted List to Binary Search Tree

Medium67.4% acceptance9 companies

Given the head of a singly linked list where elements are sorted in ascending order, convert it to a height-balanced binary search tree.

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: []

Constraints:

  • The number of nodes in head is in the range [0, 2 * 104].
  • -105 <= Node.val <= 105
22:29
Still stuck?Read 3 approaches, or watch a walkthrough.
Open solution
Loading editor…
1# Definition for singly-linked list.
2# class ListNode:
3# def __init__(self, val=0, next=None):
4# self.val = val
5# self.next = next
6# Definition for a binary tree node.
7# class TreeNode:
8# def __init__(self, val=0, left=None, right=None):
9# self.val = val
10# self.left = left
11# self.right = right
12class Solution:
13 def sortedListToBST(self, head: Optional[ListNode]) -> Optional[TreeNode]:
14
Starter codePython 3Spaces: 4
Examples
Input
[-10,-3,0,5,9]
Input
[]
Your code is saved on this device.Solution