创建不接受重复的二叉树

时间:2016-08-09 11:52:16

标签: java algorithm sorting binary-search-tree

我正在尝试制作一个不讽刺地接受重复的二叉树我已经能够做相反的事了:

public void insertLeaf(String a){
    Node newNode = new Node(a);
    if(node==null){
        node=newNode;
        return;
    }
    Node currentValue = node;
    Node parent = null;
    while(true){
        parent = currentValue;
        if(a.compareTo(currentValue.data)<0){               
            currentValue = currentValue.left;

            if(currentValue==null ){
                parent.left = newNode;
                return;
            }
        }else{
            currentValue = currentValue.right;
            if(currentValue==null){
                parent.right = newNode;
                return;
            }
        }   
    }
}

继承Node类

class Node{
    String data;
    Node left;
    Node right; 
    public Node(String data){
        this.data = data;
        left = null;
        right = null;
    }
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

问题在于您的config.vm.box = "puppetlabs/centos-7.2-64-puppet" 子句 - 它同时接受elsea.compareTo(currentValue.data)>0的情况。它应该只接受前者。 a.compareTo(currentValue.data)==0时,您不应该将值添加到树中。

你的病情应该是:

a.compareTo(currentValue.data)==0