# Convert Sorted List to Binary Search Tree LeetCode Solution

Here, We see Convert Sorted List to Binary Search Tree LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc., with different approaches.

# List of all LeetCode Solution

## Problem Statement

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: (fig-1)
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:
Output: []```

## Convert Sorted List to Binary Search Tree Leetcode Solution C++

``````class Solution {
public:
while(fast && fast->next) {
pre = slow;
slow = slow->next;
fast = fast->next->next;
}
pre->next = 0; // break two halves

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

return root;
}
};
```Code language: C++ (cpp)```

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

``````class Solution {
}
public TreeNode toBST(ListNode head, ListNode tail){

while(fast!=tail&&fast.next!=tail){
fast = fast.next.next;
slow = slow.next;
}
}
}
```Code language: Java (java)```

## Convert Sorted List to Binary Search Tree Leetcode Solution JavaScript

``````var sortedListToBST = function(head) {
let curr = head, count = 0
while (curr) curr = curr.next, count++
const treeify = (i, j) => {
if (j < i) return null
let mid = i + j >> 1, node = new TreeNode()
node.left = treeify(i, mid - 1)
node.val = curr.val, curr = curr.next
node.right = treeify(mid + 1, j)
return node
}
return treeify(1, count)
};
```Code language: JavaScript (javascript)```

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

``````class Solution(object):
return