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

力扣654题:最大二叉树(递归)

小学生一枚,自学信奥中,没参加培训机构,所以命名不规范、代码不优美是在所难免的,欢迎指正。

标签:
二叉树、递归

语言:
C++

题目:
给定一个不重复的整数数组 nums 。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。递归地在最大值左边的子数组前缀上构建左子树。递归地在最大值右边的子数组后缀上构建右子树。返回nums构建的最大二叉树。

截图:

代码:

class Solution {
public:TreeNode* maxbinarytree(vector<int>& nums, int l, int r) {if (r - l == 0)return nullptr;TreeNode* root = new TreeNode(0);int maxidx = l;for (int i = l; i < r; i++) {root->val = max(root->val, nums[i]);if(root->val==nums[i])maxidx=i;}root->left = maxbinarytree(nums, l, maxidx);root->right = maxbinarytree(nums, maxidx + 1, r);return root;}TreeNode* constructMaximumBinaryTree(vector<int>& nums) {return maxbinarytree(nums, 0, nums.size());}
};

相关文章:

  • React底层架构深度解析:从虚拟DOM到Fiber的演进之路
  • spring cloud gateway 源码解析
  • 火山引擎AI大模型
  • 经典启发算法【早期/启发式/HC爬山/SA模拟退火/TS禁忌搜/IA免疫 思想流程举例全】
  • Socket echo server
  • 成功案例丨从草图到鞍座:用先进的发泡成型仿真技术变革鞍座制造
  • Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)
  • 【愚公系列】《Manus极简入门》042-投资策略分析师:“投资智慧导航”
  • 从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区
  • CCIE与HCIE哪个考试难度更大?
  • Java EE初阶——wait 和 notify
  • AI与产品架构设计系列(2):Agent系统的应用架构与落地实
  • 【沉浸式求职学习day41】【Servlet】
  • 电脑出故障驱动装不上?试试驱动人生的远程服务支持
  • apisix透传客户端真实IP(real-ip插件)
  • 数字化工厂升级引擎:Modbus TCP转Profinet网关助力打造柔性生产系统
  • 【图像生成1】Latent Diffusion Models 论文学习笔记
  • uniapp实现在线pdf预览以及下载
  • Node.js 同步加载问题详解:原理、危害与优化策略
  • Linux du 命令终极指南:从基础到精通
  • 一个多月来上海交大接连“牵手”三区,在这些方面进行区校合作
  • 男子入户强奸高龄独居妇女致其死亡,法院:属实,已执行死刑
  • 袁思达已任中国科学院办公厅主任
  • 台行政机构网站删除“汉人”改为“其余人口”,国台办回应
  • 四部门:强化汛期农业防灾减灾,奋力夺取粮食和农业丰收
  • 横跨万里穿越百年,《受到召唤·敦煌》中张艺兴一人分饰两角