您的位置:首页 > 其它

高度最小的BST

2016-03-24 19:26 330 查看


题目描述

对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。

给定一个有序序列int[] vals,请返回创建的二叉查找树的高度。

import java.util.*;

public class MinimalBST {
public int buildMinimalBST(int[] vals) {
// write code here
if(vals==null||vals.length==0) return 0;
return createTree(vals, 0, vals.length);
}

public int createTree(int[] vals, int start, int end){
if(start > end) return 0;
int mid = (start + end)/2;
int leftDepth = createTree(vals, start, mid-1);
int rightDepth = createTree(vals, mid+1, end);
return Math.max(leftDepth, rightDepth) + 1;
}

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