Leetcode 95. Unique Binary Search Trees II (Medium) (cpp)
来源:互联网 发布:国云大数据魔镜 编辑:程序博客网 时间:2024/05/21 14:55
Leetcode 95. Unique Binary Search Trees II (Medium) (cpp)
Tag: Tree, Dynamic Programming
Difficulty: Medium
/*95. Unique Binary Search Trees II (Medium)Given an integer 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 a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { private: vector<vector<vector<TreeNode*>>> table; vector<TreeNode*> generate(int l, int r) { if (l > r) return {NULL}; if (table[l][r].empty()) { for (int mid = l; mid <= r; mid++) { vector<TreeNode*> left = generate(l, mid - 1), right = generate(mid + 1, r); for (auto a : left) { for (auto b : right) { TreeNode* cur = new TreeNode(mid); cur -> left = a; cur -> right = b; table[l][r].push_back(cur); } } } } return table[l][r]; }public: vector<TreeNode*> generateTrees(int n) { if (n < 1) return {}; table = vector<vector<vector<TreeNode*>>> (n + 1, vector<vector<TreeNode*>>(n + 1, vector<TreeNode*>())); return generate(1, n); }};
0 0
- Leetcode 95. Unique Binary Search Trees II (Medium) (cpp)
- 95. Unique Binary Search Trees II Medium
- Leetcode 96. Unique Binary Search Trees (Medium) (cpp)
- [LeetCode]95.Unique Binary Search Trees II
- [Leetcode] 95. Unique Binary Search Trees II
- LeetCode --- 95. Unique Binary Search Trees II
- [leetcode] 95.Unique Binary Search Trees II
- [leetcode] 95. Unique Binary Search Trees II
- 95. Unique Binary Search Trees II LeetCode
- ***LeetCode 95. Unique Binary Search Trees II
- Leetcode 95. Unique Binary Search Trees II
- LeetCode *** 95. Unique Binary Search Trees II
- 【LeetCode】95. Unique Binary Search Trees II
- LeetCode 95. Unique Binary Search Trees II
- [leetcode]95. Unique Binary Search Trees II
- [leetcode]95. Unique Binary Search Trees II
- [LeetCode] 95. Unique Binary Search Trees II
- LeetCode 95. Unique Binary Search Trees II
- 打电话Demo及Android6.0的运行时权限问题
- 【CODEVS 1183】泥泞的道路 SPFA+二分
- 遗传算法 一个模拟自然进化过程的启发式搜索算法
- 邮件发送和接收原理
- 计算机三座高峰:
- Leetcode 95. Unique Binary Search Trees II (Medium) (cpp)
- 【Easy】88. Merge Sorted Array
- BZOJ 1024 SCOI2009 生日快乐 暴搜
- Liberty版本Neutron LBaas学习
- mysql 数设置据库编码及避免导入乱码问题
- 文章标题 Gym100971B :Derangement
- 【Hard】23. Merge k Sorted Lists
- 火车硬座车厢座位分布表
- 如何在 CentOS 7 用 cPanel 配置 Nginx 反向代理