108. 将有序数组转换为二叉搜索树


Python3代码

class Solution:
    def sortedArrayToBST(self, nums: List[int]) -> TreeNode:
        if not nums:
            return None
        mid = len(nums) // 2
        root = TreeNode(nums[mid])
        root.left = self.sortedArrayToBST(nums[:mid])
        root.right = self.sortedArrayToBST(nums[mid + 1:])
        return root

java代码

class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        if(nums.length==0) return null;
        int index = nums.length/2;
        TreeNode root=new TreeNode(nums[index]);
        root.left=index==0?null:sortedArrayToBST(Arrays.copyOfRange(nums,0,index));
        root.right=index==nums.length-1?null:sortedArrayToBST(Arrays.copyOfRange(nums,index+1,nums.length));
        return root;
    }
}
原文地址:https://www.cnblogs.com/panweiwei/p/13585664.html