首页 > 其他分享 >BM42 用两个栈实现队列

BM42 用两个栈实现队列

时间:2022-09-22 23:55:05浏览次数:49  
标签:队列 BM42 pop 实现 POP stack2 Stack stack1

描述

用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。   数据范围: n\le1000n≤1000 要求:存储n个元素的空间复杂度为 O(n)O(n) ,插入与删除的时间复杂度都是 O(1)O(1)

示例1

输入:
["PSH1","PSH2","POP","POP"]
返回值:
1,2
说明:
"PSH1":代表将1插入队列尾部
"PSH2":代表将2插入队列尾部
"POP“:代表删除一个元素,先进先出=>返回1
"POP“:代表删除一个元素,先进先出=>返回2   

示例2

输入:
["PSH2","POP","PSH1","POP"]
返回值:
2,1
解法

import java.util.Stack;
public class Solution {
Stack<Integer> stack1 = new Stack();
Stack<Integer> stack2 = new Stack();

public void push(int node) {
stack1.push(node);
}

public int pop() {
if (stack2.size() <= 0) {
while (stack1.size() != 0) {
stack2.push(stack1.pop());
}
}
return stack2.pop();
}
}

标签:队列,BM42,pop,实现,POP,stack2,Stack,stack1
From: https://www.cnblogs.com/somedieyoung/p/16721266.html

相关文章

  • 【Springboot之切面编程】注解实现接口防刷
    本文介绍一种极简洁、灵活通用接口防刷实现方式、通过在需要防刷的方法加上@Prevent注解即可实现短信防刷;使用方式大致如下:/***测试防刷**@para......
  • 【Springboot之切面编程】注解实现敏感字段加解密
    当你的项目如果不允许明文存储敏感数据(例如身份证号、银行卡号,手机号等),那么每次存之前都要先将相关敏感字段数据加密、读取出来都要将相应敏感字段的数据解密,这种方式低效......
  • CSS实现下拉框
    主要使用position的绝对定位absolute来做。<!doctypehtml><head><style>body{font-family:Helvetica,Arial,sans-serif;min-height:200vh;......
  • MQ 消息队列时如何确保消息不丢失
    面试官在面试候选人时,如果发现候选人的简历中写了在项目中使用了MQ技术(如Kafka、RabbitMQ、RocketMQ),基本都会抛出一个问题:在使用MQ的时候,怎么确保消息100%不丢......
  • SpringBoot实现自定义注解
    SpringBoot支持我们开发者能够自定义注解,从而实现一些项目中遇到的特定问题,这个功能不知道用过的小伙伴们多不多,反正我是用得不多,但是使用之后就会发现,实在是太便捷了,配合......
  • js实现数组内相邻元素上移,下移
    上移、下移/**   *移动切换位置   *@param{Array}arr数据源   *@param{Number}index序号   *@param{String}type上移下移......
  • day03-代码实现02
    多用户即时通讯系统034.编码实现024.2功能实现-拉取在线用户4.2.1思路分析客户端想要知道在线用户列表,就要向服务器发送请求(Message),因为只有服务器端保持着所有与客......
  • echarts图表过程,显示滚动条并实现滚轮滚动
    letdataZoom=[{id:'dataZoomY',yAxisIndex:[0],show:true,//是否显示滑动条,不影响使用type:'slider',//......
  • java实现设置Excel下拉框
    在使用Excel的时候用到了下拉框,实现的效果如下↓   在生成excel文件时,需要根据给出的下拉框选项列表动态生成下拉框。实现代码如下:privatevoidcreateSelect(XSS......
  • 如何优雅实现分布式锁-Redisson
    1、引入jar包<!--引入redis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>......