LeetCode Unique Binary Search Trees II
来源:互联网 发布:ubuntu 忘记系统密码 编辑:程序博客网 时间:2024/06/06 01:19
题目:
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) {} * }; *///dfsclass Solution {public:vector<TreeNode *> generateTrees(int n) {vector<TreeNode *> res = dfs(1, n);return res;}private:vector<TreeNode *> dfs(int begin, int end) {vector<TreeNode *> ans;if (begin > end) {ans.push_back(NULL);return ans;}for (int i = begin; i <= end; i++) {vector<TreeNode *> leftTree = dfs(begin, i - 1);vector<TreeNode *> rightTree = dfs(i + 1, end);for (int m = 0; m < leftTree.size(); m++) {for (int n = 0; n < rightTree.size(); n++) {TreeNode *root = new TreeNode(i);root->left = leftTree[m];root->right = rightTree[n];ans.push_back(root);}}}return ans;}};
0 0
- 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
- sqlserver
- CyanogenMod 官方移植指南
- linux下的C语言开发(动态库)
- 如何在登陆页面上显示验证码
- 获取剪切板中的内容 往数据库中导入数据命令 MD5 执行批处理
- LeetCode Unique Binary Search Trees II
- hadoop 2.3.0 HA 配置出现的一个超低级问题
- linux下的C语言开发(定时器)
- [Bzoj1901]Zju2112 Dynamic Rankings
- BCD码
- CUDA基础知识
- linux下的C语言开发(自动编译工具)
- 利用Tomcat的JNDI容器管理JavaMail中的Session
- Memcached 安装使用说明