class Solution {
public:
vector<TreeNode*> b(int start,int end)
{
vector<TreeNode*> a;
if(start>end) a.push_back(nullptr);
for(int i=start;i<=end;i++)
{
vector<TreeNode*> left=b(start,i-1),right=b(i+1,end);
for(auto l : left)
for(auto r : right)
{
TreeNode* root=new TreeNode(i);
root->left=l;
root->right=r;
a.push_back(root);
}
}
return a;
}
vector<TreeNode*> generateTrees(int n) {
vector<TreeNode*> a;
if(n<1) return a;
a=b(1,n);
return a;
}
};
不同的二叉搜索树II
最新推荐文章于 2025-02-22 13:57:47 发布