Timer is Running

Given a Binary Tree, the task is to complete the function **dupSub** which takes the root of the tree as the only argument and returns true if the Binary tree contains a duplicate sub-tree of size two or more.

```
Input : Binary Tree
A
/ \
B C
/ \ \
D E B
/ \
D E
Output : Yes
```

**Note:** Two same leaf nodes are not considered as subtree as size of a leaf node is one.

**Input:**

The first line of input contains an integer T denoting the no of test cases. Then T test cases follow. Each test case contains a string s representing the binary tree.

For example the **string :** (a(b()())(c()()) represents the below binary tree

a

/ \

b c

**Output:**

For each test case output will be 1 if the binary tree contains duplicate sub-tree of size two or more else 0.

**Constraints:**

1<=T<=50

1<=length of string<=100

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

2

(a(b(d()())(e()()))(c()(b(d()())(e()()))))

(a(b()())(c()()))

1

0

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.

sudhanmadhu7981 | 631 |

RudraKaniya | 624 |

ishaanprajapati808 | 620 |

saxenadivyanshi004 | 572 |

AmanSharma44 | 563 |

sudhanmadhu7981 | 631 |

RudraKaniya | 629 |

ishaanprajapati808 | 620 |

saxenadivyanshi004 | 572 |

AmanSharma44 | 563 |

blackshadows | 5362 |

Ibrahim Nash | 5244 |

akhayrutdinov | 5111 |

mb1973 | 4976 |

Quandray | 4736 |

Login to report an issue on this page.