 Timer is Running

Perfect Binary Tree
##### Submissions: 5222   Accuracy: 53.15%   Difficulty: Easy   Marks: 2

Given a Binary Tree, write a function to check whether the given Binary Tree is a prefect Binary Tree or not. A Binary tree is Perfect Binary Tree in which all internal nodes have two children and all leaves are at same level.

Input:
First line of input contains the number of test cases T. For each test case, there will be two lines:

1. First line of each test case will be an integer N denoting the number of parent child relationships.

2. Second line of each test case will print the level order traversal of the tree in the form of N space separated triplets. The description of triplets is as follows:

• Each triplet will contain three space-separated elements of the form (int, int char).

• The first integer element will be the value of parent.

• The second integer will be the value of corresponding left or right child. In case the child is null, this value will be -1.

• The third element of triplet which is a character can take any of the three values ‘L’, ‘R’ or ‘N’. L denotes that the children is a left child, R denotes that the children is a Right Child and N denotes that the child is NULL.

Please note that the relationships are printed only for internal nodes and not for leaf nodes.

Output:
Print "Yes" (without quotes) if the binary tree is perfect binary tree.
Print "No" (without quotes) if the binary tree is not a perfect binary tree.

Driver code will print the output based upon the value returned by function.

Finish the function such that it returns 1 if the given tree is perfect binary tree and 0 if not.

Constraints:
1<=T<=10^5
1<=N<=10^5
1<=data of node<=10^5

Example:
Input:

3
6
10 20 L 10 30 R 20 40 L 20 50 R 30 60 L 30 70 R
2
18 15 L 18 30 R
6
1 2 L 1 3 R 2 -1 N 2 4 R 3 5 L 3 6 R

Output:
Yes
Yes
No

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 **

Contributor: Ayush Govil
Author: Ayush Govil 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.