class Solution {
public:
vector<TreeNode *> generateTrees(int n) {
return generate(0,n-1);
}
vector<TreeNode*> generate(int begin,int end)
{
vector<TreeNode*>res;
if(begin>end)
{
res.push_back(NULL);
return res;
}
for(int i=begin;i<=end;i++)
{
vector<TreeNode *> left=generate(begin,i-1);
vector<TreeNode *>right=generate(i+1,end);
for(int j=0;j<left.size();j++)
for(int k=0;k<right.size();k++)
{
TreeNode *node=new TreeNode(i+1);
res.push_back(node);
node->left=left[j];
node->right=right[k];
}
}
return res;
}
};
Unique Binary Search Trees II
最新推荐文章于 2021-09-11 12:08:06 发布