LeetCode: Unique Binary Search Trees II
来源:互联网 发布:怎么上架淘宝宝贝 编辑:程序博客网 时间:2024/06/03 14:55
思路:经典递归方法,注意左右子树元素的个数。
code:
class Solution {public: vector<TreeNode *> solve(vector<int> &num,int start,int n){ vector<TreeNode *> ret; if(n == 0){ ret.push_back(NULL); return ret; } for(int i = start;i < start + n;i++){ int nLeft = i - start; int nRight = n - nLeft - 1; vector<TreeNode *> leftRet, rightRet; leftRet = solve(num,start,nLeft); rightRet = solve(num,i+1,nRight); for(int j = 0;j < leftRet.size();j++){ for(int k = 0;k < rightRet.size();k++){ TreeNode * root = new TreeNode(num[i]); root->left = leftRet[j]; root->right = rightRet[k]; ret.push_back(root); } } } return ret; } vector<TreeNode *> generateTrees(int n) { vector<int> num(n,0); for(int i = 0;i <n;i++) num[i] = i+1; vector<TreeNode *> ret; ret = solve(num,0,n); return ret; }};
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
- Algorithmic Thinking Week1
- Git分支管理策略
- hdu 3074 Multiply game(线段树)
- 2012 Asia JinHua Regional Contest
- BZOJ 1047: [HAOI2007]理想的正方形
- LeetCode: Unique Binary Search Trees II
- 脚本语言
- CSS层叠顺序以及选择器特殊性计算
- 【算法】【树】最近公共祖先LCA——Tarjan算法
- 如何删除右键菜单栏中的选项
- hdu 4287 Intelligent IME
- Codeforces 462B Appleman and Card Game(贪心)
- svn diff
- CODEBLOCKS下怎么打开C99选项