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;

}

};

相关推荐
vortex510 分钟前
几种 dump hash 方式对比分析
算法·哈希算法
堕27425 分钟前
java数据结构当中的《排序》(一 )
java·数据结构·排序算法
初願致夕霞41 分钟前
Linux_进程
linux·c++
2302_813806221 小时前
【嵌入式修炼:数据结构篇】——数据结构总结
数据结构
Thera7771 小时前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
Wei&Yan1 小时前
数据结构——顺序表(静/动态代码实现)
数据结构·c++·算法·visual studio code
wregjru2 小时前
【QT】4.QWidget控件(2)
c++
浅念-2 小时前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
小羊不会打字2 小时前
CANN 生态中的跨框架兼容桥梁:`onnx-adapter` 项目实现无缝模型迁移
c++·深度学习
团子的二进制世界2 小时前
G1垃圾收集器是如何工作的?
java·jvm·算法