• 两个栈实现队列


    题目很简单,今天看了下Java泛型的东西,用泛型改写了一下:

    package com.wy.oj;
    
    import java.util.Stack;
    
    /**
     * Created by wy on 2016/12/23 023.
     */
    public class TwoStackQueue<T> {
        private Stack<T> s1 = new Stack<>(); // 入队
        private Stack<T> s2 = new Stack<>(); // 出队
    
        public T pop() {
            if (isEmpty()) return null;
            if (!s2.isEmpty()) return s2.pop();
            else {
                while (!s1.isEmpty())
                    s2.push(s1.pop());
                return s2.pop();
            }
        }
    
        public void push(T item) {
            s1.push(item);
        }
    
        public int size() {
            return s1.size() + s2.size();
        }
    
        public boolean isEmpty() {
            return (s1.isEmpty() && s2.isEmpty());
        }
    
        // 测试
        public static void main(String[] args) {
            TwoStackQueue<String> qs = new TwoStackQueue<>();
            for (String s : "qing li si nian chun".split(" "))
                qs.push(s);
            for (int i=0; i<3; ++i)
                System.out.println(qs.pop());
            System.out.println();
            for (String s : "ten zi jing".split(" "))
                qs.push(s);
            while (!qs.isEmpty())
                System.out.println(qs.pop());
    
            TwoStackQueue<Integer> qi = new TwoStackQueue<>();
            for (int i=10; i<100; i=2*i)
                qi.push(i);
            while (!qi.isEmpty())
                System.out.println(qi.pop());
        }
    }
    

      

  • 相关阅读:
    202104-2 邻域均值
    202104-1 灰度直方图
    1384. 饲料调配
    1381. 阶乘
    264. 丑数 II
    1380. 邮票
    42 新安装的idea必备设置
    41 cmd中解除被占用的端口
    40 文件在线预览
    39 进度条使用
  • 原文地址:https://www.cnblogs.com/duanguyuan/p/6214291.html
Copyright © 2020-2023  润新知