在二叉搜索树中插入方法

Insert Method in a Binary Search Tree

public void insert(Buchstabe pBuchstabe,char[] pChar,int pStelle)
{
    if(pBuchstabe==null)
        return;
    int Stelle = pStelle;
    if(baum.isEmpty())
    {
        baum=new BinaryTree(pBuchstabe);
    }
    else {
        if(pStelle < pChar.length)
        {
            if(pChar[Stelle] == '.')
            {
                Mybaum lTree=this.getLeftTree();
                Stelle++;
                lTree.insert(pBuchstabe,pChar,Stelle);
                this.baum.setLeftTree(lTree.baum);
            }
            else
            if(pChar[Stelle]=='-')
            {
                Mybaum rTree=this.getRightTree();
                Stelle++;
                rTree.insert(pBuchstabe,pChar,Stelle);
                this.baum.setLeftTree(rTree.baum);
            }
        }
        else
            return;
    }
}

所以这是我的插入方法。问题是它只将我传递给它的最后一个 Buchstabe 添加到 BinaryTree。所以它会得到一个 Buchstabe,一个带有一些 '.' 的字符数组。或其中的'-'代码和一个整数,当在开头调用insert merhod时,该整数从0开始。没有真正的错误,但我得到了这个输出:http://puu.sh/h9I4E/beee4f30a9.png。 它应该创建一个包含 26 个项目的二叉树,但只有一个出现在错误的一侧。

我发现了问题,它是插入的第二部分,它采用左侧而不是右侧树。

 if(pChar[Stelle]=='-')
        {
            Mybaum rTree=this.getRightTree();
            Stelle++;
            rTree.insert(pBuchstabe,pChar,Stelle);
            this.baum.**setLeftTree**(rTree.baum);
        }