美文网首页
LeetCode 177. 把排序数组转换为高度最小的二叉搜索树

LeetCode 177. 把排序数组转换为高度最小的二叉搜索树

作者: GCZeng | 来源:发表于2017-12-10 23:56 被阅读50次

题目地址: http://www.lintcode.com/zh-cn/problem/convert-sorted-array-to-binary-search-tree-with-minimal-height/

AC代码

public class Solution {
    /*
     * @param A: an integer array
     * @return: A tree node
     */
    public TreeNode sortedArrayToBST(int[] A) {
        // write your code here
        if (A.length == 0) {
            return null;
        }
        
        return buildTree(A, 0, A.length-1);
    }
    
    public TreeNode buildTree(int[] A,int start,int end) {
        if (start > end) {
            return null;
        }
        
        int mid = (start+end) / 2;
        TreeNode treeNode = new TreeNode(A[mid]);
        treeNode.left = buildTree(A, start, mid-1);
        treeNode.right = buildTree(A, mid+1, end);
        
        return treeNode;
    }
}

相关文章

网友评论

      本文标题:LeetCode 177. 把排序数组转换为高度最小的二叉搜索树

      本文链接:https://www.haomeiwen.com/subject/asebixtx.html