Tree:升序数组转平衡BST

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        if (nums==null||nums.length==0) {
            return null;
        }
        return getBalancedBST(nums, 0, nums.length-1);
    }
    private TreeNode getBalancedBST(int[] arr,int start,int end) {
        if (start>end) {
            return null;
        }
        TreeNode node = new TreeNode(arr[(start+end)/2]);
        node.left = getBalancedBST(arr, start, (start+end)/2-1);
        node.right = getBalancedBST(arr, (start+end)/2+1, end);
        return node;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容