当前位置: 首页 > 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.15wanjia.com/news/176115.html

相关文章:

  • 焦作建设网站时间轴 wordpress
  • 用dw做的网站出售外链
  • 门户网站的细分模式有微信app
  • 中小型网站建设与管理设计总结2345电视剧网站免费
  • php yaf 网站开发框架济南联通网站备案
  • 项目网站制作0基础自学做网站
  • p2vr做的网站上传贵州省住房与城乡建设厅网站
  • 企业型网站建设方案网页.网站.主页.网址.域名有什么联系
  • 邢台网站制作东莞市非凡网站建设
  • 纯 flash 网站娄底网站制作
  • 欧美在线网站设计教程网站解除域名绑定
  • 专业彩票网站开发全是广告的网站
  • 设计学校网站模板免费下载苏州建设网站平台
  • 建设部网站安全事故企业管理培训免费视频课程
  • 合肥模板网站建设收费推广品牌平台
  • 做网站的合同范文wordpress 镜像
  • o2o网站开发相关技术如何用百度平台营销
  • 扬中网站哪家做的好免费ftp服务器空间
  • wordpress仪表盘打不开福州seo扣费
  • 静安网站建设关键词优化seowordpress4.85版本
  • 营销的网站网站开发的基本语言
  • 国内旅游网站排名邵阳网站建设多少钱
  • 如何做音乐分享类网站wordpress默认文章模式
  • wordpress h5视频播放石家庄seo报价
  • 辽宁住房建设厅网站首页搭建网站平台
  • 网站建设中英语如何说张家口网站建设哪家服务好
  • 做汤的网站有哪些android开发视频
  • 清远东莞网站建设分销系统多少钱一套
  • 帝国cms小说网站模板下载地址wordpress为何需要lamp环境
  • 做网站要求什么软件网站开发中职教材