题目
代码
- 如果数组长度为偶数,中间节点有两个,取哪一个?
- 取哪一个都可以,只不过构成了不同的平衡二叉搜索树。
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
return bulid(nums, 0, nums.length - 1);
}
public TreeNode bulid(int[] nums, int start, int end) {
if (start > end) {
return null;
}
int mid = start + (end - start) / 2;
TreeNode root = new TreeNode(nums[mid]);
root.left = bulid(nums, start, mid - 1);
root.right = bulid(nums, mid + 1, end);
return root;
}
}