LeetCode: Unique Binary Search Trees II
来源:互联网 发布:mac最新系统sierra 编辑:程序博客网 时间:2024/05/12 01:47
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? > read more on how binary tree is serialized on OJ.
利用递归,从低向上依次建立BST。
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: void build(vector<TreeNode*> &result, int nStart, int nEnd) { if (nStart > nEnd) result.push_back(NULL); else { for (int i = nStart; i <= nEnd; ++i) { vector<TreeNode*> left; build(left, nStart, i-1); vector<TreeNode*> right; build(right, i+1, nEnd); for (int j = 0; j < left.size(); ++j) { for (int k = 0; k < right.size(); ++k) { TreeNode* root = new TreeNode(i); root->left = left[j]; root->right = right[k]; result.push_back(root); } } } } } vector<TreeNode *> generateTrees(int n) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<TreeNode*> result; build(result, 1, n); return result; }};
- LeetCode: Unique Binary Search Trees II
- LeetCode : Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- leetcode Unique Binary Search Trees II
- [LeetCode]Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees II
- LeetCode-Unique Binary Search Trees II
- [leetcode] Unique Binary Search Trees II
- LeetCode - Unique Binary Search Trees II
- LeetCode 95: Unique Binary Search Trees II
- Leetcode Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- Leetcode: Unique Binary Search Trees II
- leetcode Unique Binary Search Trees II
- 【Leetcode】Unique Binary Search Trees II
- LeetCode | Unique Binary Search Trees II
- Leetcode Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- Android GridView的item点击事件没反应
- 【预测】腾讯后台开发明天面试会被虐死
- Nginx 反向代理设置
- ubuntu 安装字典stardict
- java synchronized详解
- LeetCode: Unique Binary Search Trees II
- Java栈与堆
- 企业应用架构模式之延迟加载
- 从ASCII表看如何总结
- shell-008: user-variable system-env
- .net操作IIS中的虚拟目录
- 长春的夏到秋(外链,无内容,44张照片更新完毕)
- Android中Sqlite数据库多线程并发问题
- IE9调试HTML代码及切换低版本IE(IE7, IE8)