LeetCode之Unique Binary Search Trees II
2015-08-17 21:05
393 查看
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ /*采用类似Unique Binary Search Trees的思路,用递归的方法 求解出所有二叉搜索树。 参考自:https://github.com/soulmachine/leetcode*/ class Solution { public: vector<TreeNode*> generateTrees(int n) { return generateTrees(1, n); } vector<TreeNode*> generateTrees(int min_num, int max_num){ vector<TreeNode*> trees; if(min_num > max_num){ trees.push_back(nullptr); return trees; } for(int k = min_num; k <= max_num; ++k){ vector<TreeNode*> left = generateTrees(min_num, k-1); vector<TreeNode*> right = generateTrees(k+1, max_num); for(int i = 0; i < left.size(); ++i){ for(int j = 0; j < right.size(); ++j){ TreeNode* node = new TreeNode(k); node->left = left[i]; node->right = right[j]; trees.push_back(node); } } } return trees; } };
相关文章推荐
- hdu 3836 Equivalent Sets(tarjan+缩点)
- UITableView之上拉刷新
- IOS UITableView 图片文字重叠问题
- POJ 题目3080 Blue Jeans(KMP+暴力)
- Powerbuilder 连接字符串各个参数 Database parameters and supported database interfaces
- UIView添加手势 然后UITableView 添加进这个View 导致UITableView 的单元格点击事件无效
- uva 1342 - That Nice Euler Circuit(欧拉定理)
- 1085. Perfect Sequence (25)
- Squence 设置主键自动增长,设置起始值、步长
- Quick Reference: git 的.gitignore文件
- [POJ2478]Farey Sequence
- UIMenuController 的使用指南
- HDU2227(Find the nondecreasing subsequences)
- 对UITableView的一些设置
- Light OJ 1188 Fast Queries(分块暴力)
- POJ3038(Blue Jeans)
- QuickSort 快速排序 基于伪代码实现
- easyui 快速开发整理
- iOS开发-Day25-UIView
- SPOJ 题目375 Query on a tree(link cut tree边权更新,求两点最大值)