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

【剑斩OFFER】算法的暴力美学——leetCode 103 题:二叉树的锯齿形层序遍历

一、题目描述

二、算法原理

思路:在层序遍历的基础上添加一个标志位。

层序遍历的算法实现:

https://blog.csdn.net/2403_84958571/article/details/156873549?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

标志位:

三、代码实现

/** * 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 Solution { public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { if(root == nullptr) return {}; queue<TreeNode*> que;//队列辅助实现层序遍历 vector<vector<int>> ret;//最终的结果 int num = 0; que.push(root); bool flag = false;//标志位,fase:标识不用逆转数组 while(!que.empty()) { vector<int> tmp; num = que.size(); while(num--) { TreeNode* node = que.front(); tmp.push_back(node->val); if(node->left) que.push(node->left); if(node->right) que.push(node->right); que.pop(); } if(flag)//flag = true { //逆转数组 reverse(tmp.begin(),tmp.end()); flag = false;//下一轮就不用逆转了 } else flag = true; ret.push_back(tmp); } return ret; } };
http://www.cnnetsun.cn/news/616308.html

相关文章:

  • 运维越做越迷茫?网络安全凭合规刚需 + 技能复用,为何比运维更具职业安全感?
  • 交通仿真软件:SUMO_(23).交通仿真中的行人与自行车模型
  • 无需训练!SCAN方法让视觉语言模型实现“精细思考“,提升细粒度识别能力
  • 中小学午休课桌椅新国标之外的“安全风险”:校金刚的产品设计更有优势
  • 乐迪信息:AI视频分析技术如何定义和检测船舶逆行?
  • 乐迪信息:船舶AI逆行检测有效遏制水上交通违规
  • 交通仿真软件:SUMO_(16).案例研究与应用
  • 深度学习计算机毕设之基于卷神经网络的是否有污渍识别基于python-cnn深度学习的是否有污渍识别
  • 探索光伏发电三相并网技术:从原理到实现
  • 基于锂电池一阶RC等效电路模型的EKF的soc估计MATLAB代码实现,soc估计误差在1%以内
  • C#源码 上位机 SECS协议,里面包含各种进制转换,用于半导体行业,程序全源码
  • 智能康复设备数据与医院HIS系统的对接方案:HL7/FHIR标准实践
  • 基于阶梯碳交易成本的综合能源系统低碳优化调度研究:多元储能与IES联合调度策略实现(Matla...
  • 探索车辆紧急防避撞AEB控制的联合仿真控制模型
  • 《Unreal 对 C++ 做了什么》系列 11. 弱引用与软引用:TWeakObjectPtr 和 TSoftObjectPtr
  • 基于改进鲸鱼优化算法的微网系统能量优化管理Matlab源码
  • 【正点原子STM32MP157学习篇】A7和M4联合调试(通过STM32CubeIDE)
  • HoRain云--跨域Cookie设置全攻略
  • 大数据集成性能测试:JMeter压测ETL任务,找出性能瓶颈
  • MyBatis处理模糊查询
  • 如何通过数据分析实现市场细分策略
  • 【无人机任务分配】三维山地地形生成+随机任务点采样+K-means 任务聚类 +任务点排序的无人机航迹规划附Matlab代码
  • 巴西木培养养护的原则
  • 进阶-存储对象4-触发器
  • Spark与Apache Solr集成:高性能搜索方案
  • 2026年免费视频素材网站怎么选?权威推荐榜单top5 自媒体/影视创作/短视频
  • 手把手教你用8款免费AI神器,从零到一轻松搞定毕业论文
  • 大数据实战:如何构建高效的大数据处理平台?
  • 2025_NIPS_Follow-the-Perturbed-Leader Nearly Achieves Best-of-Both-Worlds for the m-Set Semi-Bandit
  • 从零开始学LuatOS:深入理解系统消息列表机制!