二叉树的删除节点2

第二张情况:
//该节点只有一个后代节点
if(cur.lc == null && cur.rc != null){
/*
从特殊到一般
*/
	//只有两个节点的二叉树 删除了根节点 那么原来的根节点右孩子		//就是新的根节点
	if(cur == root){
		root = cur.rc;
	}
	//就是左孩子就是要寻找的节点
	else if(islc){
		pre.rc = cur.lc;
	}
	else{
		pre.rc = cur.rc;
	}
	return true;
}

if(cur.lc != null && cur.rc == null){
	if(cur == root){
		root = cur.lc;
	}
	else if(islc){
		pre.lc = cur.lc;
	}
	else{
		pre.lc = cur.rc;
	}
	return true;
}

猜你喜欢

转载自blog.csdn.net/shuyan745294340/article/details/88595245