108.将有序数组转换为二叉搜索树
类似二分的思想,先找到根节点(就是数组的中间值),然后再去构建子节点
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
return sortedArrayToBST(nums, 0 , nums.length - 1);
}
public TreeNode sortedArrayToBST(int[] nums, int left, int right){
if(left > right)return null;
int mid = (left + right) / 2;
TreeNode root = new TreeNode(nums[mid]);
// 递归构建子节点
root.left = sortedArrayToBST(nums, left ,mid- 1);
root.right = sortedArrayToBST(nums, mid + 1, right);
return root;
}
}