如何进行python二叉树的层次遍历
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关如何进行python二叉树的层次遍历,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。给定一个二叉树,返回其按层次
千家信息网最后更新 2026年11月03日如何进行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安全错误
数据库的锁怎样保障安全
咖啡网
中国互联网科技工作委员会毛军
互联网科技会
互联网 科技创新
科技创新互联网企业
互联网金融科技平台
沃里互联网科技
成都狮子座互联网科技
博兴的互联网电子科技公司
互联网科技公司需要的职位
互联网大会黑科技排名
宁夏众和广鑫互联网科技有限公司
崇明区互联网教育科技诚信经营
玉溪互联网科技怎么选
互联网科技扶贫时间
深圳艾果互联网通讯科技
互联网金融科技名词解释
35岁以上互联网科技行业
互联网高科技行业有哪些企业
中国互联网公司的科技投入
云南咖啡
互联网的科技
美国互联网科技巨头监管
平安科技 互联网
以房互联网科技
北京互联网络科技有限公司
猫创互联网科技
深圳艾佳互联网科技
华脉科技工业互联网产品
迪庆互联网科技招生