当前位置: 首页 > news >正文

郑州做优惠券网站的公司盐城网站开发

郑州做优惠券网站的公司,盐城网站开发,西部数码 成品网站,中国建设银行网站首页英文请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() …

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。

实现 MyStack 类:

void push(int x) 将元素 x 压入栈顶。

int pop() 移除并返回栈顶元素。

int top() 返回栈顶元素。

boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。

注意:

1、你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、size 和 is empty 这些操作。

2、你所使用的语言也许不支持队列。 你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。

示例:

输入:

["MyStack", "push", "push", "top", "pop", "empty"]

[[], [1], [2], [], [], []]

输出:

[null, null, null, 2, 2, false]

解释:

MyStack myStack = new MyStack();

myStack.push(1);

myStack.push(2);

myStack.top(); // 返回 2

myStack.pop(); // 返回 2

myStack.empty(); // 返回 False

提示:

1、1 <= x <= 9

2、最多调用100 次 push、pop、top 和 empty

3、每次调用 pop 和 top 都保证栈不为空

思路:

  1. empty方法:new两个队列,如果两个队列均为空,则栈为空

  1. push方法:向不空的队列放元素,一开始默认向第一个队列放

  1. pop方法:若第一个队列有n个元素,则弹出一个元素进入队列2,重复n-1次,队列1最后剩下的元素就是需要弹出的元素

  1. top方法:pop方法剩下的最后一个元素返回之后,将其弹出再放入另一个队列

代码:

class MyStack {private Queue<Integer> qu1;private Queue<Integer> qu2;public MyStack() {qu1=new LinkedList<>();qu2=new LinkedList<>();}public void push(int x) {if(!qu1.isEmpty()){qu1.offer(x);}else if(!qu2.isEmpty()){qu2.offer(x);}else{qu1.offer(x);}}public int pop() {if(empty()){return -1;}if(!qu1.isEmpty()){int size=qu1.size();for(int i=0;i<size-1;i++){int x=qu1.poll();qu2.offer(x);}return qu1.poll();}else{int size=qu2.size();for(int i=0;i<size-1;i++){int x=qu2.poll();qu1.offer(x);}return qu2.poll();}}public int top() {if(empty()){return -1;}if(!qu1.isEmpty()){int x=-1;int size=qu1.size();for(int i=0;i<size;i++){x=qu1.poll();qu2.offer(x);}return x;}else{int x=-1;int size=qu2.size();for(int i=0;i<size;i++){x=qu2.poll();qu1.offer(x);}return x;}}public boolean empty() {if(qu1.isEmpty()&&qu2.isEmpty()){return true;}return false;}
}
http://www.yayakq.cn/news/832281/

相关文章:

  • 网站制作用什么语言没营业执照怎么做网站
  • 宁波免费建站seo排名做一些购物网站
  • 全国各地网站开发外包wordpress 转英文
  • ssc网站建设担保交易sql数据库做的网站怎么发布
  • 创业网站建设规划书免费注册163
  • 手机网站建设代理商昆明公司网站开发
  • 互联网建设汕头关键词优化平台
  • centos7怎么做网站服务器北京建设银行网站
  • 黑龙江高端网站建设分享经济网站怎么建设
  • 网站配置支付宝农村自建房设计图一层楼平面图
  • 做单页网站价格软件人力外包
  • 网站浮动广告代码杭州公司注册多少钱
  • 公司购买网站怎么做分录WordPress如何迁移数据
  • 济南 网站建设公司 医疗做网站的公司前三名
  • 查询个人房产信息网站wordpress帖子缩略图
  • 北京免费网站建设模板下载怎么查网站开发语言
  • 购物网站后台设计江阴做网站优化
  • 淄博网站建设找李光明seo外链推广
  • 如何做网站清风制作中国住房与城乡建设部网站
  • 谢岗网站建设公司app软件大全
  • 做网站去哪找客户前端和后端哪个常熬夜
  • 汕头网站快速排名白云区做网站
  • 建设厅网站查询电工证件建设厅官方网站河南
  • php网站 缓存新出的网络游戏排行榜
  • 商城微网站开发微网站白水网站建设
  • wordpress蜘蛛统计插件seo相关ppt
  • 安徽省建设干部培训学校网站没有备案的网站怎么做淘宝客
  • 淘宝的网站建设情况wordpress文404
  • 电子商务网站建设与维护考试修改WordPress图片上传
  • 常平网站开发青岛专业做外贸网站