LeetCode 095 Unique Binary Search Trees II
来源:互联网 发布:mac版flashcs6汉化包 编辑:程序博客网 时间:2024/06/04 20:50
题目描述
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.
代码
public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } public List<TreeNode> generateTrees(int n) { int[] array = new int[n]; //建立1~n的数组 for (int i = 0; i < n; i++) { array[i] = i + 1; } return generateTrees(array); } List<TreeNode> generateTrees(int[] array) { if (array.length == 0) { return new ArrayList<TreeNode>( Collections.<TreeNode> singletonList(null)); } ArrayList<TreeNode> result = new ArrayList<TreeNode>(); // 数组的每一个元素(array[i]),分别作为根结点 for (int i = 0; i < array.length; i++) { // array[i]作为根结点,array[i]之前的元素为左结点,array[i]之后的元素为右结点 for (TreeNode left : generateTrees(Arrays.copyOfRange(array, 0, i))) { for (TreeNode right : generateTrees(Arrays.copyOfRange(array, i + 1, array.length))) { TreeNode root = new TreeNode(array[i]); root.left = left; root.right = right; result.add(root); } } } return result; }
1 0
- LeetCode 095 Unique Binary Search Trees II
- 095 Unique Binary Search Trees II [Leetcode]
- LeetCode 095 Unique Binary Search Trees II
- LeetCode: Unique Binary Search Trees II
- LeetCode : Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- leetcode Unique Binary Search Trees II
- [LeetCode]Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees II
- LeetCode-Unique Binary Search Trees II
- [leetcode] Unique Binary Search Trees II
- LeetCode - Unique Binary Search Trees II
- LeetCode 95: Unique Binary Search Trees II
- Leetcode Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- Leetcode: Unique Binary Search Trees II
- leetcode Unique Binary Search Trees II
- 【Leetcode】Unique Binary Search Trees II
- fs4412开发板学习笔记(一)
- 基于曲线方向(梯度)变化的角点检测方法
- 导入安卓sdk源码
- cocos2d-js-----Uncaught TypeError: Cannot read property 'style' of null
- [leetcode 252] Meeting Rooms
- LeetCode 095 Unique Binary Search Trees II
- C/C++ 之 char*,const char*和string 三者转换
- JDBC核心类
- ShardedJedisPool详解
- spring MVC项目中,欢迎页首页根路径到底是怎么设置的
- 设计之路:如何进行软件需求分析?
- Install plantuml on Mac OSX
- Linux基础学习笔记一
- Jpush使用总结