Question: Write a C++ function to delete the given value from the binary search tree. The function takes two arguments, tree node and value of the
Write a C++ function to delete the given value from the binary search tree. The function takes two arguments, tree node and value of the node to be deleted.
Also replace the node to be deleted with maximum value from left sub tree when the node has two children.
The struct ->
struct TreeNode
{
int key;
TreeNode *left;
TreeNode *right;
TreeNode *parent;
};
For example:

If 5 is deleted, then replace it with the maximum value in its left subtree which is 4. The final tree:

The function header ->
void deleteNode(TreeNode *node, int key);
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
