import java.util.*;
public class Solution {
public TreeNode sortedArrayToBST (int[] arr) {
// 预处理
int len = arr.length;
if (len == 0) return null;
// 获取数组中点下标
int mid = len >> 1;
// 创建根结点
TreeNode root = new TreeNode(arr[mid]);
// 递归构造左右子树
root.left = sortedArrayToBST(Arrays.copyOfRange(arr, 0, mid)); // 前闭后开
root.right = sortedArrayToBST(Arrays.copyOfRange(arr, mid + 1, len)); // 同上
// 构造完毕,返回结果
return root;
}
}



京公网安备 11010502036488号