首页 > 代码库 > 【20】高度最小的BST
【20】高度最小的BST
【题目】
对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。
给定一个有序序列int[] vals,请返回创建的二叉查找树的高度。
【代码】
import java.util.*; public class MinimalBST { public int buildMinimalBST(int[] vals) { if(vals == null || vals.length <1) return 0; return buildMinimalBSTCore(vals, 0 , vals.length-1); } public int buildMinimalBSTCore(int[] vals, int start, int end) { if(end < start) return 0; int mid = (start + end)/2; int leftH = 1 + buildMinimalBSTCore(vals, start, mid-1); int rightH = 1 + buildMinimalBSTCore(vals, mid+1, end); return Math.max(leftH, rightH); } }
【20】高度最小的BST
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。