博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode-Unique Binary Search Trees II
阅读量:4361 次
发布时间:2019-06-07

本文共 1616 字,大约阅读时间需要 5 分钟。

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?

Have you met this question in a real interview?
 
Solution:
1 /** 2  * Definition for binary tree 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; left = null; right = null; } 8  * } 9  */10 public class Solution {11     public List
generateTrees(int n) {12 List
list = generateTreesRecur(n,1,n);13 return list;14 15 }16 17 public List
generateTreesRecur(int len, int s, int e){18 List
treeList = new ArrayList
();19 if (len==0){20 treeList.add(null);21 return treeList;22 }23 24 if (len==1){25 TreeNode newNode = new TreeNode(s);26 treeList.add(newNode);27 return treeList;28 }29 30 for (int i=s;i<=e;i++){31 int leftLen = i-s;32 int rightLen = e-i;33 List
leftList = generateTreesRecur(leftLen,s,i-1);34 List
rightList = generateTreesRecur(rightLen,i+1,e);35 for (int j=0;j

 

转载于:https://www.cnblogs.com/lishiblog/p/4129751.html

你可能感兴趣的文章
redis学习之旅-初识Redis
查看>>
WinForm 小程序 NotePad
查看>>
JSTL 核心标签库 使用
查看>>
线程池ThreadPool
查看>>
hibernate入门实例
查看>>
WPF路由事件二:路由事件的三种策略(转)
查看>>
Java中的内存泄露
查看>>
asp.net 自定义控件验证FCKeditor是否为空
查看>>
oracle 查看表空间的脚本
查看>>
Python 描述符是什么?以及如何实现
查看>>
程序员的激情其实是一种痛苦
查看>>
MySQL后台线程的清理工作
查看>>
连接mysql数据库,创建用户模型
查看>>
cogs1885 [WC2006]水管局长数据加强版
查看>>
paramiko模块
查看>>
[原创]茗洋AaronYang的 jquery.myselect.js 我的一次前端突破[上]
查看>>
1083 是否存在相等的差
查看>>
Redis总结(四)Redis 的持久化(转载)
查看>>
About_Return
查看>>
10.24给TA的话
查看>>