如何进行python二叉树的层次遍历
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章给大家分享的是有关如何进行python二叉树的层次遍历,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。给定一个二叉树,返回其按层次
千家信息网最后更新 2025年12月02日如何进行python二叉树的层次遍历
本篇文章给大家分享的是有关如何进行python二叉树的层次遍历,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
给定一个二叉树,返回其按层次遍历的节点值。(即逐层地,从左到右访问所有节点)。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
答案:
1public List> levelOrder1(TreeNode root) {
2 Queue queue = new LinkedList();
3 List> wrapList = new LinkedList>();
4 if (root == null)
5 return wrapList;
6 queue.offer(root);
7 while (!queue.isEmpty()) {
8 int levelNum = queue.size();
9 List subList = new LinkedList();
10 for (int i = 0; i < levelNum; i++) {
11 if (queue.peek().left != null)
12 queue.offer(queue.peek().left);
13 if (queue.peek().right != null)
14 queue.offer(queue.peek().right);
15 subList.add(queue.poll().val);
16 }
17 wrapList.add(subList);
18 }
19 return wrapList;
20}
解析:
LinkedList是个链表,先进先出,levelNum是每一层的节点数量,一层一层的遍历,代码没什么难度,下面再来看一种递归的写法
1public List> levelOrder(TreeNode root) {
2 List> res = new ArrayList>();
3 levelHelper(res, root, 0);
4 return res;
5}
6
7public void levelHelper(List> res, TreeNode root, int height) {
8 if (root == null) return;
9 if (height >= res.size()) {
10 res.add(new LinkedList());
11 }
12 res.get(height).add(root.val);
13 levelHelper(res, root.left, height + 1);
14 levelHelper(res, root.right, height + 1);
15}
height其实相当于层级,height>=res.size()说明已经到了下一层了,所以要新建一个list。
以上就是如何进行python二叉树的层次遍历,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
层次
节点
更多
知识
篇文章
实用
没什么
代码
先进
写法
就是
层级
工作会
数量
文章
看吧
知识点
答案
结果
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网加科技成果转化率
郑州夜魅网络技术有限公司
网络安全意识国旗下讲话
网络安全技术专业好不好
电子科技大学网络安全就业前景
具前景的数据库分表分库
db2数据库报305
僵尸毁灭工程服务器一直在初始化
党员网络安全清理整治
软件开发程序员保密合同
邮储软件开发 12级
世界各国对网络安全的战略
在树莓派创建数据库
移动软件开发与物联网
专业提供重庆联通服务器托管
黑龙江数据库安全箱价目表
我的世界服务器权限管理
作文 网络安全心得
建造服务器安全吗
图数据库排行榜
数据库安装错误代码1508
vba数组导入数据库
dell服务器亮红灯
天津软件开发驻场哪家好
软件开发要质量还是要效率
怎么只复制非隐藏数据库
网络安全交易不应该
司法局网络安全工作报告
移动通信的网络安全级别
奇迹单机登录服务器断开