Java练习剑指 Offer 32 II. 二叉树(简单)
发布时间
阅读量:
阅读量
文章结构概览
- 1.题目说明
- 2.解决思路
- 3.程序编写
1.题目描述

2.解题思路
I. 分层输出:题目所要求的二叉树自上而下的输出方式(即分层输出),也被称为二叉树的广度优先搜索(BFS)。BFS一般借助队列的先进先出特性来完成。
II. 每一层单独成行:将当前层的所有节点依次输出至一行,并将下一层的所有节点加入队列,依此类推,即可实现多行输出。
算法步骤:
1.特殊处理:若根节点不存在,则返回空列表 [] ;
2.初始化操作: 创建用于存储结果的列表 res = [] ,并构建包含根节点的队列 queue = [root] ;
3.BFS循环过程: 当队列 queue 为空时终止循环;
1.创建临时列表 tmp :用于保存当前层的所有输出内容;
2.当前层处理循环: 循环次数等于当前层中节点的数量(即队列 queue 的长度);
1.取出元素: 将队列首部的元素取出,记为 node;
2.记录数据: 将 node.val 添加至 tmp 列表末尾;
3.添加子节点: 若 nod
全部评论 (0)
还没有任何评论哟~
