博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Implement Queue using Stacks
阅读量:2341 次
发布时间:2019-05-10

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

思路:

两个栈。当有输出的时候。如果B里有东西就pop.没有的话把所有A里面的东西拿出来放入B。所有的入队全部放在A里面。

import java.util.Stack;class MyQueue {    // Push element x to the back of queue.    Stack
stackA=new Stack
(); Stack
stackB=new Stack
(); boolean isOut=true; public void push(int x) { stackA.push(x); } // Removes the element from in front of queue. public void pop() { if(stackB.isEmpty()) { while(!stackA.isEmpty()) { stackB.push(stackA.pop()); } } stackB.pop(); } // Get the front element. public int peek() { if(stackB.isEmpty()) { while(!stackA.isEmpty()) { stackB.push(stackA.pop()); } } return stackB.peek(); } // Return whether the queue is empty. public boolean empty() { return stackA.isEmpty()&&stackB.isEmpty(); }}

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

你可能感兴趣的文章
通过varargs参数可能导致堆污染
查看>>
Git学习笔记1 神奇的git stash
查看>>
Unable to locate package错误解决办法
查看>>
关于service中添加Transaction注解后,service无法注入bean
查看>>
linux shell 自定义函数(定义、返回值、变量作用域)介绍
查看>>
写自己的ASP.NET MVC框架(上)
查看>>
C++和C在linux下编程和与在WINDOWS下有什么区别
查看>>
CSS 的优先级机制[总结]
查看>>
linux shell 数组建立及使用技巧
查看>>
IEnumerator 协程 全称协同程序
查看>>
java实现冒泡排序
查看>>
spring boot 初试,springboot入门,springboot helloworld例子
查看>>
Spring中配置和读取多个Properties文件--转
查看>>
使用JNI进行Java与C/C++语言混合编程(1)--在Java中调用C/C++本地库
查看>>
Mac 终端命令连接mysql
查看>>
Lua中的数学库
查看>>
多态小结
查看>>
Java连MySQL的驱动mysql-connector-java-5.1.21-bin.jar的安装方法
查看>>
java基础小结
查看>>
线程概念及死锁的理解
查看>>