BST insertion# JobHunting - 待字闺中
r*r
1 楼
这个版本的 insert 为什么不正确? 谁能帮忙看看
public void insert1(T value){
if( root == null ){
root = new BSTNode(value);
}else
insertHelper(value, root);
}
private void insertHelper(T value, BSTNode node){
if( value.compareTo(node.value_) < 0 ){
if( node.left == null )
node.left = new BSTNode(node.value_);
else
insertHelper(value, node.left);
}else if( value.compareTo(node.value_) > 0 ){
if( node.right == null )
node.right = new BSTNode(node.value_);
else
insertHelper(value, node.right);
}else{
throw new RuntimeException("Duplicate Node : " + value.
toString());
}
public void insert1(T value){
if( root == null ){
root = new BSTNode
}else
insertHelper(value, root);
}
private void insertHelper(T value, BSTNode
if( value.compareTo(node.value_) < 0 ){
if( node.left == null )
node.left = new BSTNode
else
insertHelper(value, node.left);
}else if( value.compareTo(node.value_) > 0 ){
if( node.right == null )
node.right = new BSTNode
else
insertHelper(value, node.right);
}else{
throw new RuntimeException("Duplicate Node : " + value.
toString());
}