Void Delete Node
Void Delete Node
if (node->left == NULL) {
} else {
// In-Order predecessor(right most child of left subtree)
// Node has two children - get max of left subtree
// find the right most child of the subtree of the left node
while ((*temp)->right != NULL) {
temp = &((*temp)->right);
}
// copy the value from the right most child of left subtree to
the original node
node->value = (*temp)->value;
// then delete the right most child of left subtree since it's
value is
// now in the original node
DeleteNode(*temp);
}
}