二叉树遍历方式代码解读(3层序遍历)

含义:

层序遍历是指从上到下,从左往右,一层一层进行遍历

接下来我将用队列来实现层序遍历(BFS)

复制代码
public void levelOrder(TreeNode root) {
    if (root == null) return;
    Queue<TreeNode> q = new LinkedList<>();
    q.offer(root);
 
    while (!q.isEmpty()) {
        TreeNode node = q.poll();
        System.out.print(node.val + " ");
 
        if (node.left != null) q.offer(node.left);
        if (node.right != null) q.offer(node.right);
    }
}

过程解读:

队列先进先出

一层一层处理

一层处理完再处理下一层

就是广度优先搜索 BFS

相关推荐
流年如夢6 小时前
单链表进阶版 -->双向链表
数据结构·链表
流年如夢8 小时前
单链表 -->增、删、查、改等详细操作
c语言·数据结构
handler0110 小时前
【算法模板】最小生成树:稠密图选 Prim,稀疏图选 Kruskal
c语言·数据结构·c++·算法
此生决int11 小时前
快速复习之数据结构篇——栈和队列
数据结构·c++
昵称小白11 小时前
子串专题部分
数据结构·算法·哈希算法
ShoreKiten12 小时前
cpp考前急救
数据结构·c++·算法
诙_13 小时前
C++数据结构--AVL树
数据结构
Cando学算法14 小时前
欧拉回路(一笔画)
数据结构·c++·图论
图码14 小时前
一文搞懂如何判断字符串是否为Pangram(全字母句)
数据结构·算法·网络安全·数字雕刻·ping++
khalil102014 小时前
代码随想录算法训练营Day-43 动态规划10 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
数据结构·c++·算法·leetcode·动态规划·子序列问题