您的位置:首页 > 其它

LeetCode 108 Convert Sorted Array to Binary Search Tree

2015-11-27 09:00 441 查看

题目描述

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

分析

参考:LeetCode 105 Construct Binary Tree from Preorder and Inorder Traversal

只是根结点为mid,核心代码如下:

[code]        int mid = (start + end) / 2;
        TreeNode root = new TreeNode(nums[mid]);

        root.left = buildBST(start, mid);
        root.right = buildBST(mid + 1, end);


代码

[code]    int[] nums;

    public TreeNode sortedArrayToBST(int[] nums) {

        this.nums = nums;

        return buildBST(0, nums.length);
    }

    TreeNode buildBST(int start, int end) {

        if (start >= end) {
            return null;
        }

        int mid = (start + end) / 2;
        TreeNode root = new TreeNode(nums[mid]);

        root.left = buildBST(start, mid);
        root.right = buildBST(mid + 1, end);

        return root;
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: