Java 如何用递归平衡二叉搜索树

Java 如何用递归平衡二叉搜索树,java,binary-tree,binary-search-tree,Java,Binary Tree,Binary Search Tree,我有一个平衡二叉搜索树的函数,但有点不对劲,我一直缺少一个元素。试图创造其他条件,但不起作用 BalancedTree(BinarySearchTree tree, List list, int low, int high) { int middle = (low + high) / 2; if (low == high) return; tree.insert(list.get(middle)); buildBalancedTree(tree, list, low, middle);

我有一个平衡二叉搜索树的函数,但有点不对劲,我一直缺少一个元素。试图创造其他条件,但不起作用

BalancedTree(BinarySearchTree tree, List list, int low, int high) {
int middle = (low + high) / 2;
if (low == high)
    return;
tree.insert(list.get(middle));
buildBalancedTree(tree, list, low, middle);
buildBalancedTree(tree, list, middle+1, high);