Given a Binary Search Tree (BST) and a node no 'x', your task is to delete the node 'x' from the BST.
Note: The duplicates are not inserted in the BST.

Input Format:
The first line of the input contains an integer 'T' denoting the number of test cases. Then 'T' test cases follow. Each test case consists of three lines. Description of  test cases is as follows:
The First line of each test case contains an integer 'N' which denotes the number of nodes in the BST.
The Second line of each test case contains 'N' space separated values  of the nodes in the BST.
The Third line of each test case contains an integer 'x' the value of the node to be deleted from the BST.

Output Format:
For each testcase, in a new line, print the inorder traversal.

Your Task:
You are required to complete the function deleteNode() which takes two arguments. The first being the root of the tree, and an integer 'x' denoting the node to be deleted from the BST. The function returns a pointer to the root of the modified BST.

Constraints:
1 <= T <= 50
1 <= N <= 50

Example:
Input:

2
7
2 81 87 42 66 90 45 
81
6
5 6 7 4 3 2
7
Output:
2 42 45 66 87 90
2 3 4 5 6

Explanation:
Testcase 1:
After deleting 81 from BST, we have nodes left as 2 42 45 66 87 90.

 

** For More Input/Output Examples Use 'Expected Output' option **

Contributor: Amit Khandelwal
Author: Shubham Joshi 1


If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.



Need help with your code? Please use ide.geeksforgeeks.org, generate link and share the link here.

to report an issue on this page.