Untitled
unknown
plain_text
a year ago
664 B
6
Indexable
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
return buildTree(nums, 0, nums.length - 1);
}
private TreeNode buildTree(int[] nums, int left, int right) {
if (left > right) {
return null; // Base case: no elements to form a tree
}
int mid = left + (right - left) / 2; // Avoid overflow for large indices
TreeNode root = new TreeNode(nums[mid]); // Middle element as root
// Recursively build left and right subtrees
root.left = buildTree(nums, left, mid - 1);
root.right = buildTree(nums, mid + 1, right);
return root;
}
}
Editor is loading...
Leave a Comment