**Problem Description**

Given a Binary Tree **A** consisting of **N** nodes.

You need to find all the cousins of node **B**.

**NOTE:**

- Siblings should not be considered as cousins.
- Try to do it in single traversal.
- You can assume that Node
**B**is there in the tree**A**. - Order doesn't matter in the output.

1 <= N <= 10^{5}

1 <= B <= N

First Argument represents the root of binary tree **A**.

Second Argument is an integer **B** denoting the node number.

Return an integer array denoting the cousins of node **B**.

**NOTE:** Order doesn't matter.

Input 1:

A =

1 / \ 2 3 / \ / \ 4 5 6 7B = 5

Input 2:

A = 1 / \ 2 3 / \ . \ 4 5 . 6B = 1

Output 1:

[6, 7]

Output 2:

[]

Explanation 1:

Cousins of Node 5 are Node 6 and 7 so we will return [6, 7] Remember Node 4 is sibling of Node 5 and do not need to return this.

Explanation 2:

Since Node 1 is the root so it doesn't have any cousin so we will return an empty array.

NOTE:You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a doubt? Checkout Sample Codes for more details.

Loading...