# Convert Sorted List to Binary Search Tree Leetcode Solution

In this post, we are going to solve the Convert Sorted List to Binary Search Tree Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

## Problem

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.

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`

Now, lets see the leetcode solution of Convert Sorted List to Binary Search Tree Leetcode Solution.

### Convert Sorted List to Binary Search Tree Leetcode Solution in Python

```class Solution:
def sortedListToBST(self, head: ListNode) -> TreeNode:
prev = None

while fast and fast.next:
prev = slow
slow = slow.next
fast = fast.next.next
prev.next = None

return slow

return None

root = TreeNode(mid.val)
root.right = self.sortedListToBST(mid.next)

return root```

### Convert Sorted List to Binary Search Tree Leetcode Solutionin CPP

```class Solution {
public:
return nullptr;

TreeNode* root = new TreeNode(mid->val);
root->right = sortedListToBST(mid->next);

return root;
}

private:
ListNode* prev = nullptr;

while (fast && fast->next) {
prev = slow;
slow = slow->next;
fast = fast->next->next;
}
prev->next = nullptr;

return slow;
}
};```

### Convert Sorted List to Binary Search Tree Leetcode Solution in Java

```class Solution {
return null;

TreeNode root = new TreeNode(mid.val);
root.right = sortedListToBST(mid.next);

return root;
}

ListNode prev = null;

while (fast != null && fast.next != null) {
prev = slow;
slow = slow.next;
fast = fast.next.next;
}
prev.next = null;

return slow;
}
}```

Note: This problem Convert Sorted List to Binary Search Tree is generated by Leetcode but the solution is provided by Chase2learn This tutorial is only for Educational and Learning purposes.

Sharing Is Caring