[leetcode]95. Unique Binary Search Trees II(Java)
来源:互联网 发布:表格数据不多 格式大 编辑:程序博客网 时间:2024/05/29 08:56
https://leetcode.com/problems/unique-binary-search-trees-ii/#/description
Given an integer 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
package go.jacob.day712;import java.util.ArrayList;import java.util.List;public class Demo2 {/* * Solution with DP */public List<TreeNode> generateTrees(int n) {List<TreeNode>[] res = new List[n + 1];res[0] = new ArrayList<TreeNode>();if (n <= 0)return res[0];// 必须add(null),否则for (TreeNode left : res[0])res[0].add(null);for (int i = 1; i <= n; i++) {res[i] = new ArrayList<TreeNode>();for (int j = 1; j <= i; j++) {for (TreeNode left : res[j - 1]) {for (TreeNode right : res[i - j]) {TreeNode node = new TreeNode(j);node.left = left;node.right = clone(right, j);res[i].add(node);}}}}return res[n];}private TreeNode clone(TreeNode n, int offset) {if (n == null)return null;TreeNode node = new TreeNode(n.val + offset);node.left = clone(n.left, offset);node.right = clone(n.right, offset);return node;}class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}}}
阅读全文
0 0
- [Leetcode] Unique Binary Search Trees II (Java)
- leetcode Unique Binary Search Trees II java
- [LeetCode][Java]Unique Binary Search Trees II
- [LeetCode]95.Unique Binary Search Trees II
- [Leetcode] 95. Unique Binary Search Trees II
- LeetCode --- 95. Unique Binary Search Trees II
- [leetcode] 95.Unique Binary Search Trees II
- [leetcode] 95. Unique Binary Search Trees II
- 95. Unique Binary Search Trees II LeetCode
- ***LeetCode 95. Unique Binary Search Trees II
- Leetcode 95. Unique Binary Search Trees II
- LeetCode *** 95. Unique Binary Search Trees II
- 【LeetCode】95. Unique Binary Search Trees II
- LeetCode 95. Unique Binary Search Trees II
- [leetcode]95. Unique Binary Search Trees II
- [leetcode]95. Unique Binary Search Trees II
- [LeetCode] 95. Unique Binary Search Trees II
- LeetCode 95. Unique Binary Search Trees II
- CSS第一天学习
- html绘制课程表
- oracle创建用户导入本地SQL脚本
- python子类调用父类的方法
- 基本套接字编程(1) -- tcp篇
- [leetcode]95. Unique Binary Search Trees II(Java)
- html文件下载时的header设置
- BAT路线图1.0
- Spark Streaming介绍,DStream,DStream相关操作(来自学习资料)
- hdu 1171 Big Event in HDU
- C++之红黑树(一)
- Spring 实现数据库读写分离
- java多线程
- Java Collection复习整理