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

026.二叉搜索树迭代器

升序遍历一棵二叉搜索树

API:

  • BSTIterator(TreeNode* root)初始化

  • int next() 将指针向右移动,然后返回指针处的数字

  • bool hasNext()如果向指针右侧遍历存在数字,则返回 true 否则返回 false

  • int peak() 返回当前指针处的数字

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class BSTIterator {stack<TreeNode*>st;//用栈模拟递归void pushleft(TreeNode*p){//一路向左,全部进栈,最后栈顶是最小元素while(p){st.push(p);p=p->left;}}
public:BSTIterator(TreeNode* root) {pushleft(root);}int next() {auto p=st.top();st.pop();pushleft(p->right);//出栈后右孩子进栈return p->val;}bool hasNext() {return st.size();}int peak() {return st.top()->val;}};

leetcode 173

简单应用

给你 root1root2 这两棵二叉搜索树
请你返回一个列表,其中包含 两棵树 中的所有整数并按 升序 排序

leetcode 1305

  • 利用迭代器将树转化成链表

  • 合并有序链表(类比归并排序)

class Solution {class BSTIterator {//…………};public:vector<int> getAllElements(TreeNode* root1, TreeNode* root2) {BSTIterator s1(root1);BSTIterator s2(root2);vector<int>ans;while(s1.hasNext()&&s2.hasNext()){if(s1.peak()<s2.peak()){ans.push_back(s1.next());}else ans.push_back(s2.next());}while(s2.hasNext())ans.push_back(s2.next());while(s1.hasNext())ans.push_back(s1.next());return ans;}
};
http://www.jsqmd.com/news/149916/

相关文章:

  • 药物分子生成模型部署难点及TensorRT解决方案
  • 代码大全2第三章读书笔记
  • 2025高速钻攻机数控加工中心机床厂家排名榜单 - 栗子测评
  • 基于TensorRT镜像的多模型并发推理系统设计实践
  • 气象预报模型更新提速:TensorRT镜像助力分钟级发布
  • 智能制造中的视觉推理闭环:TensorRT镜像关键赋能
  • 破界协作:分布式测试团队的工具链构建与流程再造
  • 2025法那科注塑机螺杆厂家榜单 - 栗子测评
  • 保险理赔图像识别提速:TensorRT镜像带来效率革命
  • 2025无卤料专用螺杆推荐企业权威排行 - 栗子测评
  • 基于微信小程序的新生报到系统的设计与实现毕业设计(源码+lw+部署文档+讲解等)
  • 政务热线智能应答上线:TensorRT确保7×24稳定服务
  • 软件测试基础之面试题
  • 对比测试:原生PyTorch vs TensorRT镜像推理性能差异
  • GPU资源利用率低?用TensorRT镜像释放隐藏算力
  • 自动驾驶感知模型部署:为何离不开TensorRT镜像?
  • 学长亲荐9个AI论文工具,助本科生搞定毕业论文!
  • 一键部署大模型!NVIDIA TensorRT镜像使用全攻略
  • MindSpore开发之路(十三):端到端实战:使用MindSpore实现LeNet-5手写数字识别
  • 光束平差法(Bundle Adjustment, BA)
  • LangChain+TensorRT镜像:打造超快大模型应用前端
  • sifu mod制作笔记12/27
  • 全网最全软件测试面试题
  • 大模型推理服务按Token计费?先用TensorRT压降成本
  • 【优化求解】基于matlab遗传算法GA求解约束优化网络流问题【含Matlab源码 14782期】
  • AI大模型应用开发学习-26【20251227】
  • 永磁同步电机与无刷直流电机无感FOC位置估算源码及仿真模型(带源代码、PI参数自动计算与磁链观...
  • AI创业公司如何降本增效?从采用TensorRT镜像开始
  • 自动化测试如何实施落地?如何规划自己的职业生涯?
  • 软件测试面试题-mysql