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

力扣 hot100 Day43

108. 将有序数组转换为二叉搜索树

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。

//抄的
class Solution {
public:TreeNode* sortedArrayToBST(vector<int>& nums) {return helper(nums, 0, nums.size() - 1);}TreeNode* helper(vector<int>& nums, int left, int right) {if (left > right) return nullptr;int mid = left + (right - left) / 2;// 创建当前子树的根节点,值为中间元素TreeNode* root = new TreeNode(nums[mid]);// 递归构建左子树(左半部分数组)root->left = helper(nums, left, mid - 1);// 递归构建右子树(右半部分数组)root->right = helper(nums, mid + 1, right);return root;}
};

简单题都做不出来了。。感觉二叉树水平很烂,另外花时间做做代码随想录吧

思路很简单,二分然后递归,终止条件是判断左右指针,有点像滑动窗口。

需要构造辅助函数,因为原函数传递的参数不够,需要左右指针辅助

主要还是递归不够熟练

http://www.lryc.cn/news/587117.html

相关文章:

  • OSPF与BGP的联动特性
  • 【设计模式】备忘录模式(标记(Token)模式)
  • 面向对象设计模式详解
  • Flink学习笔记:整体架构
  • NO.4数据结构数组和矩阵|一维数组|二维数组|对称矩阵|三角矩阵|三对角矩阵|稀疏矩阵
  • 【Docker基础】Dockerfile指令速览:环境与元数据指令详解
  • 【保姆级图文详解】Spring AI 中的工具调用原理解析,工具开发:文件操作、联网搜索、网页抓取、资源下载、PDF生成、工具集中注册
  • leetGPU解题笔记(1)
  • 【CMake】CMake创建、安装、使用静态库和动态库
  • LeetCode|Day8|1047. 删除字符串中的所有相邻重复项|Python刷题笔记
  • java.net.InetAddress
  • 嵌入式 Linux开发环境构建之安装 SSH 软件
  • MongoDB数据基本介绍
  • 小白成长之路-LVS
  • 【VSCode+LaTeX】科研写作环境搭建
  • C语言的一些随笔
  • 面试150 填充每个节点的下一个右侧节点指针Ⅱ
  • 006_测试评估与安全实践
  • 2025上海市“星光计划“信息安全管理与评估赛项二三阶段任务书
  • RAG篇(RAG的流程)
  • STM32-第六节-TIM定时器-2(输出比较)
  • Linux驱动开发2:字符设备驱动
  • iOS UI视图面试相关
  • 哪些行业的“反内卷”前景更好?
  • ADB 调试日志全攻略:如何开启与关闭 `ADB_TRACE` 日志
  • 【Datawhale夏令营】用AI做带货视频评论分析
  • [附源码+数据库+毕业论文+答辩PPT+部署教程+配套软件]基于SpringBoot+MyBatis+MySQL+Maven+Vue实现的交流互动管理系统
  • 每天学一个八股(二)——详解HashMap
  • 26-计组-指令执行过程
  • HTML5 离线存储