0
点赞
收藏
分享

微信扫一扫

2022-04-03 数组-简单-《108. 将有序数组转换为二叉搜索树》

mm_tang 2022-04-03 阅读 60
leetcodejava

题目链接:108. 将有序数组转换为二叉搜索树

标签:树、二叉搜索树、数组、分治、二叉树

方法一:中序遍历,总是选择中间位置左边的数字作为根节点

class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        TreeNode tree = formTree(nums,0,nums.length-1);
        return tree;
    }
    public TreeNode formTree(int[] nums, int left, int right) {
        if (left > right) {
            return null;
        }

        // 总是选择中间位置左边的数字作为根节点
        int mid = (left + right) / 2;

        TreeNode root = new TreeNode(nums[mid]);
        root.left = formTree(nums, left, mid - 1);
        root.right = formTree(nums, mid + 1, right);
        return root;
    }
}
举报

相关推荐

0 条评论