ID | Title | Difficulty | |
---|---|---|---|
Loading... |
108. Convert Sorted Array to Binary Search Tree
Easy
LeetCode
Array, Divide and Conquer, Tree, Binary Search Tree, Binary Tree
Problem
Given an array 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:
Given the sorted array: [-10,-3,0,5,9],
One possible answer is: [0,-3,9,-10,null,5], which represents the following height balanced BST:
0
/ \
-3 9
/ /
-10 5
Code
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
return helper(nums, 0, nums.length - 1);
}
private TreeNode helper(int[] nums, int start, int end){
if(start > end) return null;
int mid = (start + end) / 2;
TreeNode root = new TreeNode(nums[mid]);
root.left = helper(nums, start, mid - 1);
root.right = helper(nums, mid + 1, end);
return root;
}
}
按 <- 键看上一题!
107. Binary Tree Level Order Traversal II
按 -> 键看下一题!
109. Convert Sorted List to Binary Search Tree