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

力扣 hot100 Day42

102. 二叉树的层序遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

//抄的
class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> result;if (!root) return result;queue<TreeNode*> q;q.push(root);while (!q.empty()) {int levelSize = q.size();vector<int> currentLevel;        for (int i = 0; i < levelSize; ++i) {TreeNode* node = q.front();q.pop();currentLevel.push_back(node->val);if (node->left) q.push(node->left);if (node->right) q.push(node->right);}        result.push_back(currentLevel);}    return result;}
};

BFS,广度优先搜索,基本都是基于队列实现

逻辑很简单,队列里存放根节点,每出来一个根节点,就把根节点的左右节点push进去,先进先出,这样就实现了层序遍历

当然里面还有一些逻辑细节,需要维护一个levelsize记录每一层个数,用队列size循环记录即可,还需要记录每一层pop的vector,在一层遍历完push进result。

http://www.dtcms.com/a/275289.html

相关文章:

  • AI 时代的分布式多模态数据处理实践:我的 ODPS 实践之旅、思考与展望
  • RabbitMQ面试精讲 Day 1:RabbitMQ核心概念与架构设计
  • ntfs - SELinux
  • Vue框架之钩子函数详解
  • 路由双向引入实验:将一种路由协议学习到的路由注入另一种协议中
  • Linux中的git命令
  • Spring Cloud Gateway中常见的过滤器
  • 【kubernetes】--controller(DaemonSet)
  • Git入门教程
  • 【离线数仓项目】——电商域DIM层开发实战
  • 【一起来学AI大模型】RAG系统流程:查询→向量化→检索→生成
  • 医疗AI前端开发中的常见问题分析和解决方法
  • OpenCL study - code02
  • 箭头函数(Arrow Functions)和普通函数(Regular Functions)
  • 7. 负载均衡:流量调度引擎
  • 8-day06预训练模型
  • 一个中层管理者应该看什么书籍?
  • 从就绪到终止:操作系统进程状态转换指南
  • 智能文本抽取在合同管理实战应用
  • 人事系统选型与应用全攻略:从痛点解决到效率跃升的实战指南
  • Datawhale AI夏令营:基于带货视频评论的用户洞察挑战赛上分全攻略
  • 自动驾驶线控系统与动力电池系统
  • 【天坑记录】cursor jsx文件保存时错误格式化了
  • K230摄像头配置与显示配置误解:而这根本没关系
  • 【驱动】移植CH340驱动,设置 udev 规则,解决和 BRLTTY 的冲突
  • 软件测试面试200问(附30W字面试文档)
  • 跟着Carl学算法--二叉树【3】
  • 静态路由技术
  • DeepSeek模型分析及其在AI辅助蛋白质工程中的应用-文献精读148
  • [electron]升级功能