当前位置: 首页 > news >正文

堆和栈的生命周期对于代码的影响

之前从来没有使用过new,delete都是默认调用栈直接声明类型,现在遇到一道棘手的题目了,开始手忙脚乱了
https://leetcode.cn/problems/unique-binary-search-trees-ii/description/?envType=study-plan-v2&envId=dynamic-programming
这道题目,返回的是每一颗树的根节点,大致思路都了解,就是卡特兰数那个构造方法,遍历以每一个i作为该区间的根节点,就可以将剩下的两边分成俩颗子树了
主要就是生命周期的影响,如果你是局部代码块中创建的空间,代码块结束后栈就释放了

使用堆空间,堆空间可以手动控制生命周期,什么时候创建,什么时候释放

代码


class Solution {
public:vector generateTrees(int n) {if (n == 0) return {};return dfs(1, n);}vector dfs(int l, int r) {vector res;if (l > r) {res.push_back(nullptr);return res;}for (int i = l; i <= r; ++i) {auto left = dfs(l, i - 1);auto right = dfs(i + 1, r);for (auto lnode : left) {for (auto rnode : right) {TreeNode* root = new TreeNode(i);root->left = lnode;root->right = rnode;res.push_back(root);}}}return res;}
};
http://www.jsqmd.com/news/26832/

相关文章:

  • AI 智能体开发实战零基础自学手册:理论到云端部署实战指南
  • AC自动机(拓扑排序优化)
  • 详细介绍:Leetcode 3700. Number of ZigZag Arrays II
  • work 3
  • moji 辞书 注音分析
  • 实用指南:OSPF LSA Type 3(Summary LSA)概念及题目
  • .net解决分布式事务简单方案DotNetCore.CAP
  • 《Ai元人文》
  • sklearn 特征选择实战:用 RFE 找到最优特征组合
  • 老旧环境torch版本(0.4.1)环境配置总结
  • ✨《那个让我准时下班的神器,藏在这份编辑器测评里》
  • 代码大全阅读笔记3
  • Newton记录
  • 【备份】不知道什么时候写的IniReader.js
  • CSS尺寸、盒子模型、定位、浮动与布局(Flex/Grid)
  • 通过中国信通院SQL质量管理最高等级评测,天翼云TeleDB引领数据库管理新标准!
  • AtCoder Regular Contest 208 (Div. 2) 题解
  • 第三十篇
  • 代码大阅读笔记
  • 第2次软件基础作业
  • 第二次软件基础作业
  • vs2017安装qt插件及安装qt插件后的设置
  • 实用指南:从0死磕全栈之Next.js Server Actions 入门实战:在服务端安全执行逻辑,告别 API 路由!
  • KeyShot许可管理故障排除步骤
  • 各式各样的Attention - -一叶知秋
  • 重塑生产力:天翼云全球首发RaaS,开启“机器人即服务”商业时代!
  • Python自然语言处理(NLP)入门
  • 【计算机视觉】分水岭搭建医学诊断
  • mysql和java获取经纬度的距离的两种方式
  • Sequence2Sequence - -一叶知秋