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

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

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

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */struct TreeNode{	int val;	TreeNode *left;	TreeNode *right;	TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public:    std::vector
generateTrees(int n) { return dfs(0,n-1); }private: std::vector
dfs(int n, int m) { std::vector
res; if(n > m) { res.push_back(NULL); return res; } for (int i = n; i <= m; i++) { std::vector
left = dfs(n,i-1); std::vector
right= dfs(i+1,m); for (int j = 0; j < left.size(); j++) { for (int k = 0; k < right.size(); k++) { TreeNode *node = new TreeNode(i+1); res.push_back(node); node->left = left[j]; node->right= right[k]; } } } return res; }};

转载地址:http://cfjcx.baihongyu.com/

你可能感兴趣的文章
C#中的Marshal
查看>>
linux命令:ls
查看>>
Using RequireJS in AngularJS Applications
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
Linux基础命令---rmdir
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
argparse - 命令行选项与参数解析(转)
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
java只能的round,ceil,floor方法的使用
查看>>
新开的博客,为自己祝贺一下
查看>>
采用JXL包进行EXCEL数据写入操作
查看>>
将txt文件转化为json进行操作
查看>>
我的2014-相对奢侈的生活
查看>>
Java设计模式
查看>>