分成两边, left right排列组合加到root, lo==hi就返回当前值

 1 class Solution {
 2     public List<TreeNode> generateTrees(int n) {
 3         if(n == 0) return (new ArrayList<>());
 4         return generate(1, n);
 5
 6     }
 7
 8     public List<TreeNode> generate(int lo, int hi) {
 9         List<TreeNode> list = new ArrayList<>();
10         if(lo > hi) {
11             list.add(null);
12             return list;
13         }
14         if(lo == hi) {
15             list.add(new TreeNode(lo));
16             return list;
17         }
18
19         for(int i = lo; i <= hi; i++) {
20             List<TreeNode> left = generate(lo, i-1);
21             List<TreeNode> right = generate(i+1, hi);
22
23             for(TreeNode lNode: left) {
24                 for(TreeNode rNode: right) {
25                     TreeNode root = new TreeNode(i);
26                     root.left = lNode;
27                     root.right = rNode;
28                     list.add(root);
29                 }
30             }
31
32         }
33         return list;
34     }
35 }

转载于:https://www.cnblogs.com/goPanama/p/9667689.html

95. Unique Binary Search Trees II相关推荐

  1. leetcode 95. Unique Binary Search Trees II | 96. Unique Binary Search Trees

    95. Unique Binary Search Trees II https://leetcode.com/problems/unique-binary-search-trees-ii/ 题解 题是 ...

  2. 【重点 递归构造二叉树】LeetCode 95. Unique Binary Search Trees II

    LeetCode 95. Unique Binary Search Trees II 本博客转载自:[1]https://segmentfault.com/a/1190000007443961 [2] ...

  3. 95. Unique Binary Search Trees II 不同的二叉搜索树 II

    给定一个整数 n,生成所有由 1 - n 为节点所组成的 二叉搜索树 . 示例: 输入:3 输出: [[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1, ...

  4. Unique Binary Search Trees II -- LeetCode

    原题链接:  http://oj.leetcode.com/problems/unique-binary-search-trees-ii/   这道题是求解所有可行的二叉查找树,从 Unique Bi ...

  5. 【Unique Binary Search Trees II】cpp

    题目: Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. F ...

  6. LeetCode Unique Binary Search Trees II(递归或者dp)

    问题:给出一个正整数,要求构造由1到n组成的所有的二叉搜索树 思路: 1.递归法 在求从1到n的二叉搜索树时,枚举中间值i(1到n),求[1,i-1]和[i+1,n]分别构成的二叉搜索树,然后根据左右 ...

  7. leetcode算法题--Unique Binary Search Trees II

    原题链接:https://leetcode.com/problems/unique-binary-search-trees-ii/ class Solution {public:vector<T ...

  8. Leetcode95. Unique Binary Search Trees II不同的二叉搜索树2

    给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树. 示例: 输入: 3 输出: [   [1,null,3,2],   [3,2,null,1],   [3,1,null,nul ...

  9. 96. Unique Binary Search Trees(I 和 II)

    Given n, how many structurally unique BST's (binary search trees) that store values 1-n? For example ...

最新文章

  1. 计算机管理信息系统大作业,管理信息系统期末大作业
  2. JavaWeb:JDBC之事务
  3. try not let others think you are good enough
  4. spring自定义作用域 依赖注入之手动注入
  5. 使用Http-Repl工具测试ASP.NET Core 2.2中的Web Api项目
  6. view [bootstrap-4] not found如何解决_Dubbo如何处理业务异常,这个一定要知道哦
  7. MySQL_运算符与函数
  8. 技术晨读_20160217
  9. linux在虚拟机添加一块10,redhat linux 虚拟机如何增加一块虚拟硬盘
  10. ntfs是什么硬盘?ntfs硬盘如何在苹果电脑使用
  11. Windows动态库DllMain
  12. 使用Python,SMTP发邮件到qq邮箱(文本/超链接/图片/表格/附件表格)
  13. urllib库如何设置代理如何传递并保存cookie【python爬虫入门进阶】(02-3)
  14. meta标签http-equiv属性的作用
  15. 所谓资本寒冬,不过是一厢情愿的破灭
  16. 2021国际货币论坛金融科技分论坛隆重举行 聚焦“数字金融人才培养”
  17. Yocto系列讲解[理论篇]23 - BitBake全过程(1)
  18. 怎样合理有效的与人争论(讨论)问题?
  19. python 编程入门到实践
  20. MMKV-Android中的存储框架

热门文章

  1. 【收藏】Anaconda详细安装使用教程
  2. k8s部署dubbo-admin 2.5.10
  3. k8s部署oracle-ee-11g:部署、集群内外连接oracle的方式
  4. JVM调优:指定垃圾回收器组合
  5. mybatis-plus CRUD及分页查询代码示例
  6. Python爬虫开发:requests库的使用--发送带参数get请求
  7. eureka客户端在执行过程中都做了哪些事
  8. Maven修改本地仓库位置
  9. https和http的主要区别
  10. Java计算两点间经纬度距离(两种方式)