博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
225. 用队列实现栈
阅读量:2169 次
发布时间:2019-05-01

本文共 1178 字,大约阅读时间需要 3 分钟。

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

实现 MyStack 类:

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

int pop() 移除并返回栈顶元素。
int top() 返回栈顶元素。
boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。

输入:

["MyStack", "push", "push", "top", "pop", "empty"]
[[], [1], [2], [], [], []]
输出:
[null, null, null, 2, 2, false]

 

class MyStack {    Queue
queue1; Queue
queue2; /** Initialize your data structure here. */ public MyStack() { queue1=new LinkedList
(); queue2=new LinkedList
(); } /** Push element x onto stack. */ public void push(int x) { queue2.offer(x); while(!queue1.isEmpty()){ queue2.offer(queue1.remove()); } //交换queue1 queue2 Queue
temp=queue1; queue1=queue2; queue2=temp; } /** Removes the element on top of the stack and returns that element. */ public int pop() { return queue1.remove(); } /** Get the top element. */ public int top() { return queue1.peek(); } /** Returns whether the stack is empty. */ public boolean empty() { return queue1.isEmpty(); }}

转载地址:http://zyazb.baihongyu.com/

你可能感兴趣的文章
【Java】【28】提高List的removeAll方法的效率
查看>>
【JS】【31】读取json文件
查看>>
OpenSSL源代码学习[转]
查看>>
Spring下载地址
查看>>
google app api相关(商用)
查看>>
linux放音乐cd
查看>>
GridView+存储过程实现'真分页'
查看>>
flask_migrate
查看>>
解决activemq多消费者并发处理
查看>>
UDP连接和TCP连接的异同
查看>>
hibernate 时间段查询
查看>>
java操作cookie 实现两周内自动登录
查看>>
Tomcat 7优化前及优化后的性能对比
查看>>
Java Guava中的函数式编程讲解
查看>>
Eclipse Memory Analyzer 使用技巧
查看>>
tomcat连接超时
查看>>
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>