LeetCode/95. 不同的二叉搜索树 II
95. 不同的二叉搜索树 II
给定一个整数 n,生成所有由 1 … n 为节点所组成的 二叉搜索树 。
示例 :
1 | 输入:3 |
提示:
0 <= n <= 8
来源:力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解:
这道题目前没有想出太好的思路,就是参考官方题解。首先要明确二叉搜索树的结构,二叉搜索树就是每一个结点的左子树都小于该根结点的值,右子树都大于每个根结点的值。我们可以将输入的n分为两个集合,以每次遍历到的i结点为根结点,递归构建1~i-1的左子树,递归构建i+1~n的右子树。最后我们要遍历所有的结果,一共会有 leftTreeNodes.size()*rightTreeNodes.size()种情况,我们固定左子树,遍历右子树,将所有的可能情况都遍历完全。
具体代码如下:
1 | public class Solution { |

