• 用两个栈实现队列


    前言:
     这也是一道比较简单的题目
     下面说说我的思路吧
     思路:两个栈,一个栈是push()方法中存放元素的栈(stack1);在pop()方法中,将stack1的除首元素外的所有元素循环出栈给stack2,那么stack1的出栈操作即可拿到队列的pop()的返回值,然后将stack1清空,将stack2的所有元素全部出栈给stack1,那么这个队列的pop()方法就完成了。
     重点在于两个栈实现队列的pop()方法的实现


     好吧,下面放代码


    这题不难,下面写点收获吧,就翻了翻Java的Stack源码,回忆了下Java数据结构吧

    • Stack类还是比较古老的,JDK1.0就有了,继承了Vector,底层还是数组实现的
    • Java的Stack除了push()、pop()方法外,还有peek()方法,用于返回栈顶元素的值,不出栈;此外还有几个,都比较简单,翻翻都能看懂
    • emm,或许还有更优的解法,后续知道了,会增修本篇
  • 相关阅读:
    NSString+URLEncoding
    编码解码
    RESTful架构理解
    jvm调优
    java大数据处理调优
    SQL 优化
    正确处理下载文件时HTTP头的编码问题(Content-Disposition)
    Spring 多媒体(文件上传)支持
    mybatis类型转换
    log4j Spring aop 注解的日志管理
  • 原文地址:https://www.cnblogs.com/ihaokun/p/10753492.html
Copyright © 2020-2023  润新知