95. Unique Binary Search Trees II
来源:互联网 发布:手机数据还可以找回吗 编辑:程序博客网 时间:2024/05/23 12:49
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
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public ArrayList<TreeNode> generateTrees(int n) { if(n < 1) return new ArrayList<TreeNode>(); 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){ // should new a root here because it need to // be different for each tree TreeNode root = new TreeNode(i); root.left = l; root.right = r; rst.add(root); } } } return rst; }}
阅读全文
0 0
- [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
- 95. Unique Binary Search Trees II LeetCode
- ***LeetCode 95. Unique Binary Search Trees II
- 95. Unique Binary Search Trees II
- 95. Unique Binary Search Trees II
- 95. Unique Binary Search Trees II
- Leetcode 95. Unique Binary Search Trees II
- 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 95. Unique Binary Search Trees II
- 95. Unique Binary Search Trees II
- storm-hbase集成:win7下用eclipse开发ubuntu上的storm-hbase程序
- 视频编解码基本概念之 GOP
- 内存、外存、主存、辅存和寄存
- 牛客网错题锦集day3
- 贪心算法
- 95. Unique Binary Search Trees II
- ubuntu16.04环境下使用Arduino IDE编译和烧写nodemcu-esp8266程序
- nyist-2017软件计科联合新生赛题解
- 两种比较好的单例实现
- 点云地图的2维投影-1
- flask 学习 笔记,day01(基于python 2)
- [DP] ZROI 2017 提高3 T3 建筑
- BZOJ1412: [ZJOI2009]狼和羊的故事
- 腾讯2017[编程题] 游戏任务标记