unique-binary-search-trees Java code
来源:互联网 发布:山师教务处网络教育 编辑:程序博客网 时间:2024/06/16 05:16
Given n, generate all structurally unique BST’s (binary search trees) that store values 1…n.
For example,
Given n = 3, your program should return all 5 unique BST’s shown below.
1 3 3 2 1
\ / / / \ \
3 2 1 1 3 2
/ / \ \
2 1 2 3
confused what”{1,#,2,3}”means? > read more on how binary tree is serialized on OJ.
OJ’s Binary Tree Serialization:
The serialization of a binary tree follows a level order traversal, where ‘#’ signifies a path terminator where no node exists below.
Here’s an example:
1
/ \
2 3
/
4
\
5
The above binary tree is serialized as”{1,2,3,#,#,4,#,#,5}”.
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; left = null; right = null; } * } */import java.util.*;public class Solution { public ArrayList<TreeNode> generateTrees(int n) { return createTree(1, n); } public ArrayList<TreeNode> createTree(int low, int high) { ArrayList<TreeNode> result = new ArrayList<>(); if(low > high) { result.add(null); return result; } for (int i = low; i <= high; i ++) { // 求根结点i的左右子树集合 ArrayList<TreeNode> left = createTree(low, i - 1); ArrayList<TreeNode> right = createTree(i + 1, high); for (int j = 0; j < left.size(); j ++) { for (int k = 0; k < right.size(); k ++) { // 将左右子树相互配对,每一个左子树都与所有右子树匹配,每一个右子树都与所有的左子树匹配 TreeNode newNode = new TreeNode(i); newNode.left = left.get(j); newNode.right = right.get(k); result.add(newNode); } } } return result; }}
- unique-binary-search-trees Java code
- unique-binary-search-trees Java code
- Unique Binary Search Trees Java
- Unique Binary Search Trees (Java)
- (java)Unique Binary Search Trees
- CODE 38: Unique Binary Search Trees
- CODE 37: Unique Binary Search Trees II
- [leet code] Unique Binary Search Trees
- [leet code] Unique Binary Search Trees II
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Window如何修改Mysql区别数据库名,表名的大小写?
- 写了 15 年代码,总结出提升 10 倍效率的三件事
- 笑话:程序员是如何得到永生的
- 对5种主流编程语言的吐槽
- Java 常用服务的安装与部署
- unique-binary-search-trees Java code
- Ajax技术实战操练课堂学习笔记
- 模式识别-高维空间降维的重要性
- 程序员的九大不幸
- 程序员写在猝死的前一天
- 【知识发现】天池平台新浪微博互动预测-ItemCF推荐方法
- 每天一道LeetCode-----找到第k个排列
- 将java工程打包成jar包
- idea .java文件右下角有个红色j的解决方法