Leetcode Unique Binary Search Trees II
来源:互联网 发布:教人做甜品的软件 编辑:程序博客网 时间:2024/05/16 03:46
Leetcode Unique Binary Search Trees II代码,本代码使用c++完成,使用dp方法中的down-up方法,并提供对树的数量的测试。
#include <iostream>#include <unordered_set>#include <vector>#include <string>using namespace std;// 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 {public: vector<TreeNode*> generateTrees(int n) { vector<TreeNode*> trees(1, nullptr); TreeNode *root; TreeNode *cur; int end = 0; for (int i = 1; i <= n; i ++) { end = trees.size(); for (int j = 0; j < end; j ++) { root = cloneTree(trees[j]); cur = root; TreeNode *newNode = new TreeNode(0); while(cur != NULL) { newNode->left = cur->right; cur->right = newNode; trees.push_back(cloneTree(root)); cur->right = newNode->left; newNode->left = NULL; cur = cur->right; } newNode->left = root; trees[j] = newNode; } } return trees; } TreeNode * cloneTree(TreeNode *root) { if (root == NULL) { return NULL; } TreeNode *cloneRoot = new TreeNode(root->val); cloneRoot->left = cloneTree(root->left); cloneRoot->right = cloneTree(root->right); return cloneRoot; }};int main() { Solution * so = new Solution(); vector<TreeNode*> a = so->generateTrees(1); cout<<"numer: 1"<<", result: "<<a.size()<<endl; a = so->generateTrees(4); cout<<"numer: 4"<<", result: "<<a.size()<<endl; a = so->generateTrees(5); cout<<"numer: 5"<<", result: "<<a.size()<<endl;}
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
- POJ1066Treasure Hunt【判断直线相交】
- POJ 1056 解题报告
- 云主机环境搭建教程之搭建全能主机
- ubuntu 64位下安装 texlive2015 并设置 ctex 中文套装
- c语言指针基本使用
- Leetcode Unique Binary Search Trees II
- C++重载逗号,括号,类型转换,实现以奇怪的方式给变量赋值
- 几部科幻小说的评价和感想
- Leetcode #153 Find Minimum in Rotated Sorted Array
- Leetcode #154 Find Minimum in Rotated Sorted Array II
- UI控件-----UIScrollView
- Web报表软件的几种体系结构之比较
- 主要Java报表工具的比较
- 五种主流web报表工具的功能对比