二叉树中删除自己要先判断父亲是否为null?

为什么要删除自己还要判断父亲是否为NULL,自己都还没被delete掉,难道父亲会被先delete掉吗?

void Node::Nodedelete()
{
	if (!this->LeftChild)
	{
		this->LeftChild->Nodedelete();
	}

	if (!this->RightChild)
	{
		this->RightChild->Nodedelete();
	}

	if (!this->ParentNode)
	{
		if (this == this->ParentNode->LeftChild)
		{
			this->ParentNode->LeftChild = nullptr;
		}
		if (this == this->ParentNode->RightChild)
		{
			this->ParentNode->RightChild = nullptr;
		}
	}

	delete this;
}


慕粉1600176492
浏览 1430回答 1
1回答

__innocence

判断父节点是否为null实际上是判断该节点是否为根节点
打开App,查看更多内容
随时随地看视频慕课网APP