Java实现-不同的二叉查找树2
来源:互联网 发布:恶灵退散意思知乎 编辑:程序博客网 时间:2024/06/03 23:35
给出n,生成所有由1...n为节点组成的不同的二叉查找树
样例
给出n = 3,生成所有5种不同形态的二叉查找树:
1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \2 1 2 3
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @paramn n: An integer * @return: A list of root */ public ArrayList<TreeNode> generateTrees(int n) { return generate(1, n); } private ArrayList<TreeNode> generate(int start, int end){ ArrayList<TreeNode> rst = new ArrayList<TreeNode>(); if(start > end){ rst.add(null); return rst; } for(int i=start; i<=end; i++){ ArrayList<TreeNode> left = generate(start, i-1); ArrayList<TreeNode> right = generate(i+1, end); for(TreeNode l: left){ for(TreeNode r: right){ TreeNode root = new TreeNode(i); root.left = l; root.right = r; rst.add(root); } } } return rst; }}
阅读全文
0 0
- Java实现-不同的二叉查找树2
- Java实现-不同的二叉查找树1
- 不同的二叉查找树
- 不同的二叉查找树
- 不同的二叉查找树
- 不同的二叉查找树
- 二叉查找树的Java实现
- java 实现的二叉查找树
- 二叉查找树的java实现
- 二叉查找树的Java实现
- 数据结构--二叉查找树的java实现
- 二叉查找树的java实现
- 二叉查找树Java的实现
- LintCode-不同的二叉查找树 II
- LintCode-不同的二叉查找树
- 题目:不同的二叉查找树
- 题目:不同的二叉查找树 II
- lintcode-不同的二叉查找树-163
- 安卓热更新之Nuwa实现步骤
- 《VC网络通讯编程实例》目录
- 母函数简单应用小结
- mysql数据导入导出
- 无线传感器网络标准化与协议分析
- Java实现-不同的二叉查找树2
- CSS之元素的层级
- ArchLinux安装图文教程(2017.06.15)
- Bridge模式
- OpenCV学习笔记(05):Mat类详解(二)
- php显示目录下的文件
- Linux中的shell简介bash的基本功能
- SE02 Unit05 多线程基础 、 TCP通信
- 在cmd环境进入退出node