Clone a Binary Tree
Submissions: 7707   Accuracy:


  Difficulty: Medium   Marks: 4

Given a Binary Tree having random pointers clone the Binary Tree. The task is to complete the function cloneTree which take one argument the root of the tree to be copied and should return the root of the cloned tree.

The first line of input contains the no of test cases. Then T test cases follow. Each test case contains 2 lines the first line contains and integer N denoting the no of edges of the tree and then in the next line are N space separated queries .The query on tree are of three types
a) a b L  (Represents that b is the left child of a)
b) a b R (Represents that b is the right child of a)
c) a b X (Represents a random pointer from node a to node b)  

Your function should return the root of the cloned tree. The output will be 1 if the tree is successfully cloned.

1 <=T<= 30
1 <=Number of nodes<= 100
1 <=Data of a node<= 1000

Example(To be used only for expected output):

6 3 L 6 8 R 3 1 L 3 5 R 1 3 X 5 6 X


Above test case represents the below tree with 6 edges .


Note:The Input/Ouput format and Example given are used for system's internal purpose, and should be used by a user for Expected Output only. As it is a function problem, hence a user should not read any input from stdin/console. The task is to complete the function specified, and not to write the full code.

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

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, generate link and share the link here.

to report an issue on this page.