首先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]
解题思路:
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; } }
标签:queue,Java,队列,Queue,基本操作,null,root From: https://www.cnblogs.com/kuangmeng/p/17748624.html