• 两个队列实现一个栈,剑指offer P59


    public class StackByQueue {
        private LinkedList<String> queue1;
        private LinkedList<String> queue2;
        public StackByQueue() {
            queue1 = new LinkedList<String>();
            queue2 = new LinkedList<String>();
        }
        
        public String pop() {
            String str = null;
            if(queue1.size() ==0 && queue2.size() ==0) {
                return null;
            }
            if(queue2.size() == 0) {
                while(queue1.size() > 0) {
                    str = queue1.removeFirst();
                    if(queue1.size() != 0) {//要删除的栈元素不会加入队列的尾部
                        queue2.addLast(str);
                    }
                    
                }
            }else if(queue1.size() == 0){
                while(queue2.size() > 0) {
                    str = queue2.removeFirst();
                    if(queue2.size() != 0) {
                        queue1.addLast(str);
                    }
                }
            }
            return str;
        }
        
        public void push(String str) {
            if(queue1.size() == 0 && queue2.size() == 0) {
                queue1.addLast(str);
            }
            if(queue1.size() != 0) {
                queue1.addLast(str);
            }else if (queue2.size() != 0) {
                queue2.addLast(str);
            }
        }
        
        public static void main(String[] args) {
            StackByQueue stackByQueue  = new StackByQueue();
            stackByQueue.push("1");
            stackByQueue.push("2");
            stackByQueue.push("3");
            System.out.println(stackByQueue.pop());
            stackByQueue.push("8");
            System.out.println(stackByQueue.pop());
        }
        
    
    }
  • 相关阅读:
    4、现有的命名方式有多少种?请举例说明。
    第二次作业
    第一次作业
    RateLimiter源码
    使用ASM字节码框架实现动态代理
    Java流机制学习
    Java8 Stream 学习总结
    XML实体解析器的作用
    DefaultResouceLoader的设计
    RSA 非对称加密 数字签名 数字证书
  • 原文地址:https://www.cnblogs.com/leehfly/p/5228628.html
Copyright © 2020-2023  润新知