Java 队列Queue的一些基本操作与概念!!!!!!!!
首先Java中的队列(Queue)是一种先进先出的数据结构。
其中常见的一些基本操作与方法,包括:
1、创建队列对象。例如:ArrayDeque、LinkedList等。
2、入队操作。将元素添加到队列的末尾处,使用offer()方法。
3、出队操作。从队列的头部移除并返回元素,使用poll()方法。
4、peek()方法:查看队首元素。如果队列为空,则返回null。
5、isEmpty()方法。用于判断队列是否为空,空则返回true。
6、获取队列的大小,采用size()方法。
7、清除队列内的元素,采用clear()方法。
下面采用力扣中的一道题,来展示上述的基本操作与方法。
题目:给定非空的二叉树根节点root,以数组的形式返回每一层节点的平均值。
输入:root = [3,9,20,null,null,15,7]
输出:[3.00000,14.50000,11.00000]
解释:第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11 。因此返回 [3, 14.5, 11]
解题思路:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | class Solution { public List<Double> averageOfLevels(TreeNode root) { // 二叉树的话,一定是通过left right进行遍历 root.left.val root.right.val 每一层的结果sum/count List<Double> result = new ArrayList<>(); if (root == null ){ return result; } // 采用队列入队的方式进行保存数据值 - 基本操作1、创建队列对象 Queue<TreeNode> queue = new LinkedList<>(); // - 基本操作2、入队操作 queue.offer(root); // - 基本操作5: 判断队列是否为空,为空 -> True -> False 跳出循环 while (!queue.isEmpty()){ // - 基本操作6: 获取队列的大小 int size = queue.size(); double sum = 0.0 ; for ( int i= 0 ;i<size;i++){ // - 基本操作3: 出队操作 TreeNode node = queue.poll(); sum += node.val; // 获取对应元素的左叶子结点 + 右叶子结点 TreeNode left = node.left; TreeNode right = node.right; if (left != null ){ queue.offer(left); } if (right != null ){ queue.offer(right); } } // 每一层 都 取平均数 result.add(sum / size); } return result; } } |
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构