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.

**Input:**

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)

**Output:**

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

**Constraints:**

1 <=T<= 30

1 <=Number of nodes<= 100

1 <=Data of a node<= 1000

**Example(To be used only for expected output):
Input**

1

6

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

1

Above test case represents the below tree with 6 edges .

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.

KshatriyaYash | 658 |

RuntimeTerror | 446 |

nikhil_sojan | 388 |

cypherr | 384 |

striver119 | 378 |

KshatriyaYash | 1066 |

nikhil_sojan | 972 |

lonecoder | 909 |

mazumderrohit8 | 864 |

SumitSingh27 | 832 |

blackshadows | 5327 |

Ibrahim Nash | 5215 |

akhayrutdinov | 5111 |

mb1973 | 4462 |

Quandray | 4444 |

Login to report an issue on this page.