博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指_用两个栈实现队列
阅读量:4073 次
发布时间:2019-05-25

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

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

  • 一个栈(如stack1)只能用来存,另一个栈(如stack2)只能用来取
  • 每次必须有一个栈为空,即所有元素必须同时在一个栈中
  • 当加入元素时首先检查stack2是否为空,如果不空将stack1中的元素全部倒入stack2,否则直接加入到栈1。加入之后再倒回是stack2
     
import java.util.Stack;public class Solution {    Stack
stack1 = new Stack
(); Stack
stack2 = new Stack
(); public void push(int node) { while(stack2.size()!=0){ stack1.push(stack2.pop()); } stack1.push(node); while(stack1.size()!=0){ stack2.push(stack1.pop()); } } public int pop() { return stack2.pop(); }}

 

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

你可能感兴趣的文章
STL源码分析----神奇的 list 的 sort 算法实现
查看>>
Linux下用math.h头文件
查看>>
Linux中用st_mode判断文件类型
查看>>
Ubuntu修改host遇到unable to resolve host
查看>>
路由选择算法
查看>>
Objective-C 基础入门(一)
查看>>
Objective-C 基础入门(三) 读写文件与回调
查看>>
C++ STL标准库与泛型编程(一)概述
查看>>
C++ STL标准库与泛型编程(四)Deque、Queue、Stack 深度探索
查看>>
C++ STL标准库 算法
查看>>
JVM内存模型_Minor GC笔记
查看>>
SpringCloud学习之PassCloud——(一)PassCloud源代码下载
查看>>
SpringCloud学习之PassCloud——(二)passcloud-master源代码部署
查看>>
SpringCloud学习之PassCloud——(三)passcloud-master各模块、paascloud-mall-web、paascloud-login-web启动
查看>>
利用NLP进行情感分析,建立模型并使用Java调用
查看>>
Linux下安装Python环境并部署NLP项目
查看>>
Nginx篇-springCloud配置Gateway+Nginx进行反向代理和负载均衡
查看>>
Nginx篇-Nginx配置动静分离
查看>>
缓存篇-Redis缓存失效以及解决方案
查看>>
缓存篇-使用Redis进行分布式锁应用
查看>>