题目大意
https://leetcode.com/problems/unique-binary-search-trees-ii/
生成所有数量为n个节点的二叉查找树。
题目分析
思路参考了这里https://discuss.leetcode.com/topic/3079/a-simple-recursive-solution
主要是利用递归,不过这道题的tag是dp,还没有想清楚怎么用dp做。递归的思路不难理解,先把1-n每个数字作为二叉树的根,然后分别递归求左右子树的list,注意左子树的节点值范围是1~(i-1),右子树的节点值范围是(i+1)-n,然后将求得的两个list进行两层遍历,组装成一棵树,加入list中。
代码
|
|
时间复杂度待分析