Unique Binary Search Trees II
来源:互联网 发布:js引号嵌套 编辑:程序博客网 时间:2024/04/30 04:09
根据n的大小,把每一个BST生成出来,递归处理,把从[1,n]的每一个值作为根节点,然后递归生成其左子树和右子树
红线部分是错误原因
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
vector<TreeNode *> generateBST(int beg, int end){
vector<TreeNode *> rs;
if(beg > end){
rs.push_back(NULL);
return rs;
}
for(int i = beg;i <= end;i++){
///TreeNode *root = new TreeNode(i);
vector<TreeNode *>left = generateBST(beg, i-1);
vector<TreeNode *>right = generateBST(i+1,end);
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];
rs.push_back(root);
}
}
}
return rs;
}
vector<TreeNode *> generateTrees(int n) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
return generateBST(1,n);
}
};
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees (& II)
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- VIJOS 1605 双栈排序
- Sprite Kit Manual Movement
- Android 4.4 KitKat终于支持录屏(Screen Recording)了!
- Oracle 多行记录合并/连接/聚合字符串的几种方法
- 已经是大三狗了
- Unique Binary Search Trees II
- 如何选择开源许可协议
- 给VS2008/VS2010 MFC项目添加启动画面
- Android开源框架ImageLoader的完美例子
- Unix调试工具dbx使用方法
- Sprite Kit 前言
- Android五大应用框架
- 黑马程序员-hashSet的存储、检索与hashCode和equals的问题
- 计算机网络应用层之域名系统DNS