您的位置:首页 > 新闻 > 资讯 > 做效果图需要什么软件_100个无水印短视频素材_百度热搜榜排名今日头条_百度seo霸屏软件

做效果图需要什么软件_100个无水印短视频素材_百度热搜榜排名今日头条_百度seo霸屏软件

2025/7/28 9:32:50 来源:https://blog.csdn.net/nuc_ghp/article/details/146922613  浏览:    关键词:做效果图需要什么软件_100个无水印短视频素材_百度热搜榜排名今日头条_百度seo霸屏软件
做效果图需要什么软件_100个无水印短视频素材_百度热搜榜排名今日头条_百度seo霸屏软件

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。
在这里插入图片描述

  • 这其实也能算一道BFS的模板题,BFS我们平时用的不多,而在层序遍历和最短距离中使用BFS是很方便的,它的核心思想就是一层一层遍历,将一层的数据放到一个队列中,使用时弹出顶端的数据开始遍历。
  • 直接看代码:
/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> result = new ArrayList<>();Queue<TreeNode> queue = new ArrayDeque<>();// 初始化队列为根节点if(root != null){queue.add(root);}while(!queue.isEmpty()){// 这里求出队列的长度是为了将一层一层的数据分开,// 普通的BFS是直接将所有的数据输出不会进行分层,所以这里要特殊处理一下int n = queue.size();List<Integer> temp = new ArrayList<>();// 遍历一层的节点,向队列中添加下一层的节点while(n > 0){TreeNode node = queue.poll();temp.add(node.val);if(node.left != null) queue.add(node.left);if(node.right != null) queue.add(node.right);n --;}// 将一层的节点添加到最终的数组中result.add(temp);}return result;}
}

这个直接看代码更容易理解,也可以手画一个树模拟一下,网格的话同理,就是两个变成四个然后标记遍历过的节点就行。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com