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

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

标题:
通过率: 27.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? 

在第一个版本中要求的是说出BST数量,本题要求把BST全部都输出,用list去储存一个每个可解方案的root,跟第一版本的类型相似,尝试每一个元素作为root那么就把一组数分成了左右,然后去处理左边和右边,这样就把全部类型都列举出来了,还是递归的思想;

具体看代码:

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 return getTree(1,n);13 }14 public ArrayList
getTree(int left,int right){15 ArrayList
result=new ArrayList
();16 if(left>right){17 result.add(null);18 return result;19 }20 for(int i=left;i<=right;i++){21 ArrayList
leftt=getTree(left,i-1);22 ArrayList
rightt=getTree(i+1,right);23 for(int j=0;j

 

转载于:https://www.cnblogs.com/pkuYang/p/4296499.html

你可能感兴趣的文章
如何优化UPS的工作模式为数据中心节省运营成本
查看>>
luogu_P3674 小清新人渣的本愿
查看>>
[bzoj 3110][zjoi 2013]K大数查询
查看>>
luogu_P3345[zjoi2015]幻想乡战略游戏
查看>>
Hibernate 二级缓存
查看>>
Kettle应用实例
查看>>
week03-栈和队列
查看>>
c语言洗牌算法
查看>>
自动化测试基础篇--Selenium文件上传send_keys
查看>>
分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace【转】
查看>>
ARM 处理器架构【转】
查看>>
QQ初始化失败,很多网站访问不了 的解决
查看>>
深入理解[代理模式]原理与技术
查看>>
LeetCode OJ:Evaluate Reverse Polish Notation(逆波兰表示法的计算器)
查看>>
关于Qt的事件循环以及QEventLoop的简单使用
查看>>
Mac下安装pymssql
查看>>
AlertDialog基本用法详解
查看>>
《人月神话》读书摘记
查看>>
将Gridview导出到Excel
查看>>
关于C语言指针 初识
查看>>