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

【LeetCode Hot100 | 每日刷题】二叉树的层序遍历

题目:

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

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]

示例 2:

输入:root = [1]
输出:[[1]]

示例 3:

输入:root = []
输出:[]

难点:

需要把每一层的节点值都单独存储到一个list集合中,也就是最后返回结果需要是List<List<Integer>>类型的。

思路:

对该树进行BFS,利用Java的ArrayDeque队列,每一层单独来一次循环以该层的节点数为循环截止条件。

过程如下:

可以看到,在 while 循环的每一轮中,都是将当前层的所有结点出队列,再将下一层的所有结点入队列,这样就实现了层序遍历。 

Java代码:

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {ArrayList<List<Integer>>res=new ArrayList<>();Queue<TreeNode>qu=new ArrayDeque<>();if(root!=null){qu.add(root);}while(!qu.isEmpty()){List<Integer>list=new ArrayList<>();int n=qu.size();for(int i=0;i<n;i++){TreeNode node=qu.poll();list.add(node.val);if(node.left!=null){qu.add(node.left);}if(node.right!=null){qu.add(node.right);}}res.add(list);}return res;}
}

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

相关文章:

  • MySQL 触发器(Trigger)讲解
  • OpenCV 图形API(80)图像与通道拼接函数-----仿射变换函数warpAffine()
  • SAP修改数据库表
  • 大疆三方云平台部署
  • 网页截图指南
  • PDF内容搜索--支持跨文件夹多文件、组合词搜索
  • debian中笔记本的省电选择auto-cpufreq
  • 解决windows重启后分辨率问题
  • 2025最新出版 Microsoft Project由入门到精通
  • 雅思阅读--重点短语/句式39个
  • 小红书怎么看自己ip地址?小红书更改ip地址教学
  • UE5 脚部贴地不穿过地板方案
  • 含锡废水回收率提升技术方案
  • 37-算法打卡-栈与队列-滑动窗口最大值-leetcode(239)-第三十七天
  • ==和equals的区别 hashCode和equals的联系
  • 文章记单词 | 第65篇(六级)
  • 【JavaScript】将字符串转为base64
  • C/C++ 扩展智能提示太慢或无法解析项目
  • 使用VMware Workstation pro 17.5.1在Windows上安装Ubuntu 24.04.2的 详细步骤
  • 第一章-语言基础\3.STL
  • RHCSA Linux系统 网络管理
  • Grafana-新增用户
  • 104二叉树的最大深度
  • 标签语句分析
  • 第11次:用户注册(简要版)
  • 【大模型面试】大模型(LLMs)高频面题全面整理(★2025年5月最新版★)
  • 13前端项目----购物车修改
  • 结合Hutool 突增突降检测的算法
  • Linuxweb服务的部署及优化
  • 网站主机控制面板深度解析:cPanel、Plesk 及其他主流选择