New update is available. Click here to update.

Topics

Ninja is learning DSA to perform well in his college exams. He is learning about binary search trees. After learning about the properties of BST, he is curious to know that how many BST can exist for a set of given numbers. He wants to know all the unique BST having exactly N values from 1 to N.Can you help Ninja to form all the unique BST?

You are given an integer ‘N’.Your task is to return the list of the root node of all the unique BST having values from 1 to N.

```
If N is 3,all unique BST will be:
```

Detailed explanation

```
1 <= N <= 8.
Time limit: 1 sec
```

```
3
```

```
1 -1 3 2 -1 -1 -1
1 -1 2 -1 3 -1 -1
2 1 3 -1 -1 -1 -1
3 2 -1 1 -1 -1 -1
3 1 -1 -1 2 -1 -1
```

```
For the first test case,
There exist 5 unique BST for the values 1 to 3. So, the given arrays are the level order traversal for each unique BST. (Empty Node is denoted by -1).
```

```
2
```

```
1 -1 2 -1 -1
2 1 -1 -1 -1
```