Now, let’s review the second scenario, which is a node that has a left or right child. In this case, we need to skip this node and assign the parent pointer to the child node.
If the node does not have a left child ({12}), it means it has a right child, so we will change the reference of the node to its right child ({13}) and return the updated node ({14}). We will do the same if the node does not have a right child ({15}); we will update the node reference to its left child ({16}) and return the updated value ({17}).
The following diagram exemplifies the removal of a node with only a left or right child: