LeetCode:95. 不同的二叉搜索树 II

class Solution {

public:

vector<TreeNode*> generateTrees(int n) {

if(n==0){

return vector<TreeNode*>{};

}

return build(1,n);

}

vector<TreeNode*>build(int lo,int hi){

vector<TreeNode*>res;

if(lo>hi){

res.emplace_back(nullptr);

return res;

}

for(int i=lo;i<=hi;i++){

vector<TreeNode*> leftTree=build(lo,i-1);

vector<TreeNode*> rightTree=build(i+1,hi);

for(auto left:leftTree){ //自动匹配类型

for(auto right:rightTree){

TreeNode* root=new TreeNode(i);

root->left=left;

root->right=right;

res.emplace_back(root);

}

}

}

return res;

}

};

相关推荐
CSDN_RTKLIB20 分钟前
简化版unique_ptr说明其本质
c++
naruto_lnq20 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
踩坑记录36 分钟前
leetcode hot100 94. 二叉树的中序遍历 easy 递归 dfs
leetcode
zxsz_com_cn40 分钟前
设备预测性维护算法分类及优劣势分析,选型指南来了
算法·分类·数据挖掘
m0_748708051 小时前
C++中的观察者模式实战
开发语言·c++·算法
然哥依旧1 小时前
【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)
算法·支持向量机·matlab·cnn
时光找茬1 小时前
【瑞萨AI挑战赛-FPB-RA6E2】+ 从零开始:FPB-RA6E2 开箱测评与 e2 studio 环境配置
c++·单片机·边缘计算
qq_537562671 小时前
跨语言调用C++接口
开发语言·c++·算法
Tingjct2 小时前
【初阶数据结构-二叉树】
c语言·开发语言·数据结构·算法