95. Unique Binary Search Trees II

Description

Given an integer n, generate all structurally unique BST's (binary search trees) that store values 1 ... n.

Constraints

Approach

Examples

Input: 3

Output:

[

[1, null, 3, 2],

[3, 2, null, 1],

[3, 1, null, null, 2],

[2, 1, 3],

[1, null, 2, null, 3]

]

Explanation:

The above output corresponds to the 5 unique BST's shown below:

Solutions

// Definition for a binary tree node.
public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    
    TreeNode() {}
    
    TreeNode(int val) { this.val = val; }
    
    TreeNode(int val, TreeNode left, TreeNode right) {
        this.val = val;
        this.left = left;
        this.right = right;
    }
}

Follow up

Last updated

Was this helpful?