http://oj.leetcode.com/problems/unique-binary-search-trees-ii/

一题要求得出所有树的种类数,二题要求得出所有树。

在一题的基础上修改代码,还是要提前想清楚再写。

#include <iostream>
#include <vector>
using namespace std; struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
}; class Solution {
public:
vector<TreeNode *> fun(int start,int end )
{
vector<TreeNode *> ansTemp;
vector<TreeNode *> ansTemp2;
vector<TreeNode *> ansTemp3; ansTemp.clear();
if(start>end)
{
ansTemp.push_back(NULL);
return ansTemp;
}
if(start == end)
{
TreeNode *mid = new TreeNode(start);
ansTemp.push_back(mid);
return ansTemp;
} for(int i=start;i<=end;i++)//枚举的中间位置
{
ansTemp2 = fun(start,i-);
ansTemp3 = fun(i+,end); if(ansTemp2.size()!=&&ansTemp3.size()!=)
for(int j = ;j<ansTemp2.size();j++)
{
for(int k = ;k<ansTemp3.size();k++)
{
TreeNode * root = new TreeNode();
root->val = i;
root->left = ansTemp2[j];
root->right = ansTemp3[k];
ansTemp.push_back(root);
}
}
else if(ansTemp2.size()!=&&ansTemp3.size()==)
for(int j = ;j<ansTemp2.size();j++)
{
TreeNode * root = new TreeNode();
root->val = i;
root->left = ansTemp2[j];
root->right = NULL;
ansTemp.push_back(root);
}
else if(ansTemp2.size()==&&ansTemp3.size()!=)
for(int k = ;k<ansTemp3.size();k++)
{
TreeNode * root = new TreeNode();
root->val = i;
root->left = NULL;
root->right = ansTemp3[k];
ansTemp.push_back(root);
}
else
{
TreeNode * root = new TreeNode(i);
ansTemp.push_back(root);
} } return ansTemp;
} vector<TreeNode *> generateTrees(int n) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
vector<TreeNode *> ans;
ans.clear();
ans = fun(,n);
return ans;
}
}; int main()
{
Solution my;
my.generateTrees();
return ;
}

亲爱的,加油。

LeetCode OJ——Unique Binary Search Trees II的更多相关文章

  1. [LeetCode] 95. Unique Binary Search Trees II(给定一个数字n,返回所有二叉搜索树) ☆☆☆

    Unique Binary Search Trees II leetcode java [LeetCode]Unique Binary Search Trees II 异构二叉查找树II Unique ...

  2. [LeetCode] 95. Unique Binary Search Trees II 唯一二叉搜索树 II

    Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...

  3. 【leetcode】Unique Binary Search Trees II

    Unique Binary Search Trees II Given n, generate all structurally unique BST's (binary search trees) ...

  4. [leetcode]95. Unique Binary Search Trees II给定节点形成不同BST的集合

    Given an integer n, generate all structurally unique BST's (binary search trees) that store values 1 ...

  5. Java for LeetCode 095 Unique Binary Search Trees II

    Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...

  6. 【LeetCode】Unique Binary Search Trees II 异构二叉查找树II

    本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/p/4048209.html 原题: Given n, generate all struc ...

  7. [LeetCode] 95. Unique Binary Search Trees II 独一无二的二叉搜索树之二

    Given an integer n, generate all structurally unique BST's (binary search trees) that store values 1 ...

  8. leetCode 95.Unique Binary Search Trees II (唯一二叉搜索树) 解题思路和方法

    Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...

  9. 【leetcode】 Unique Binary Search Trees II (middle)☆

    Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...

随机推荐

  1. Java-JFrame窗体美化

    Java-JFrame窗体美化 JFrame默认的窗体比较土,可以通过一定的美化,让窗体表现的比较漂亮,具体要根据设计的设计图进行美化: JFrame美化的大致思路:先将JFrame去除默认美化效果, ...

  2. Decorator——Python初级函数装饰器

    最近想整一整数据分析,在看一本关于数据分析的书中提到了(1)if __name__ == '__main__' (2)列表解析式 (3)装饰器. 先简单描述一下前两点,再详细解说Python初级的函数 ...

  3. CentOS 7 配置OpenCL环境(安装NVIDIA cuda sdk、Cmake、Eclipse CDT)

    序 最近需要在Linux下进行一个OpenCL开发的项目,现将开发环境的配置过程记录如下,方便查阅. 完整的环境配置需要以下几个部分: 安装一个OpenCL实现,基于硬件,选择NVIDIA CUDA ...

  4. Angular Vue React 框架中的 CSS

    框架中的 CSS Angular Vue React 三大框架 Angular Vue 内置样式集成 React 一些业界实践 Angular Angular . js (1.x):没有样式集成能力 ...

  5. VS重置开发环境的方法

    经常由于各种插件的原因,导致VS有使用过程中出现断点进不去等各种情况的时候,这个方法可以让你的VS回到最初安装的状态,当然,这时候,各种配置也没有了,不到万不得已就勿使用. 下面以Vs2015来说明: ...

  6. Hive中集合类型

    Hive中集合类型 创建表,集合是以 - 分割的 数据文件 加载数据 查询数据 查询数组中第一个字段 再建一个表,使用map 查看数据文件 加载数据 查询数据 查询键值 创建表,struct类型 查看 ...

  7. Selenium WebDriver- 操作JavaScript的prompt弹窗(使用率低)

    #encoding=utf-8 import unittest import time from selenium import webdriver from selenium.webdriver i ...

  8. 《完美应用Ubuntu》第3版 何晓龙 著

    系统篇 用好Ubuntu掌握这些就够了 第1章 Ubuntu的进化 1.1 GNU/Linux的历史和文化 1.1.1 GNU/Linux是Linux的全称 1.1.2 Linux的诞生 1.2 Li ...

  9. mybatis的嵌套查询(嵌套查询nested select和嵌套结果nested results查询)区别

    (转自:http://blog.csdn.net/canot/article/details/51485955) Mybatis表现关联关系比hibernate简单,没有分那么细致one-to-man ...

  10. 【Luogu】P3704数字表格(莫比乌斯反演+大胆暴力)

    题目链接 给你们讲个笑话:Konoset是个sb,他快速幂的时候把幂次取模了. 原式差不多就是这样吧$\prod\limits_{i=1}^{n}\prod\limits_{j=1}^{m}f[gcd ...