请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

子节点比较两次的问题,这样会不会好一点?

private void add(Node node, E e) {

	if(e.equals(node.e)) {
		return;
	} else if(e.compareTo(node.e)<0) {
		if(node.right == null) {
			node.right = new Node(e);
			size ++;
			return;
		}else {
			add(node.right,e);
		}
	}else if(e.compareTo(node.e)>0){
		if(node.left ==null) {
			node.left = new Node(e);
			size ++;
			return;
		}else {
			add(node.left,e);
		}
	}
}

这样会不会好一点?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-02-24 08:01:46

可以的,但是这个代码的逻辑显然比我在课程中的代码更复杂:)

private Node add(Node node, E e){    
    if(node == null){    
        size ++;    
        return new Node(e);    
    }    

    if(e.compareTo(node.e) < 0)    
        node.left = add(node.left, e);    
    else if(e.compareTo(node.e) > 0)    
        node.right = add(node.right, e);    
    return node;    
}


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号