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

力扣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());}
};

http://www.xdnf.cn/news/6820.html

相关文章:

  • 实时技术方案对比:SSE vs WebSocket vs Long Polling
  • Java Set系列集合详解:HashSet、LinkedHashSet、TreeSet底层原理与使用场景
  • 产品经理入门——认识产品经理
  • OCCT知识笔记之Poly_Triangulation详解
  • YOLOv7训练时4个类别只出2个类别
  • vue使用Fabric和pdfjs完成合同签章及批注
  • 第八节第三部分:认识枚举、枚举的作用和应用场景
  • DeepSearch:WebThinker开启AI搜索研究新纪元!
  • 游戏站的几种形式
  • redis数据结构-11(了解 Redis 持久性选项:RDB 和 AOF)
  • STM32H743IIT6_ADC采集误差分析与ADC_DMA
  • 【论信息系统项目的整合管理】
  • leetcode 2900. 最长相邻不相等子序列 I 简单
  • 【LeetCode 热题 100】搜索插入位置 / 搜索旋转排序数组 / 寻找旋转排序数组中的最小值
  • 基于javaweb的SpringBoot驾校预约学习系统设计与实现(源码+文档+部署讲解)
  • Jenkins 安装与配置指南
  • A12 乐队指挥更懂管理
  • STM32 定时器主从模式配置解析
  • C++:单例模式
  • Day 22 训练
  • 01-多线程案例-线程安全问题
  • n8n 中文系列教程_23. 【实战篇】如何零成本搭建Deep Research类AI工具
  • MySQL8新特性
  • 【Vite】前端开发服务器的配置
  • 【Dv3Admin】插件 dv3admin_chatgpt 集成大语言模型智能模块
  • 深入理解 Git 分支操作的底层原理
  • 基于协同过滤的文学推荐系统设计【源码+文档+部署】
  • 机器学习第十五讲:决策树全面讲解:像玩“20个问题“游戏猜身份[特殊字符]
  • 逻辑复制环境删除订阅报错 replication slot does not exist
  • 源码与二进制包区别