zoukankan      html  css  js  c++  java
  • 5 用两个栈实现队列

    题目描述

    用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
     1 import java.util.Stack;
     2  
     3 public class Solution {
     4     Stack<Integer> stack1 = new Stack<Integer>();
     5     Stack<Integer> stack2 = new Stack<Integer>();
     6      
     7     public void push(int node) {
     8         stack1.push(node);
     9     }
    10      
    11     public int pop() {
    12         if(stack1.empty()&& stack2.empty())
    13             throw new RuntimeException("Queue is empty!");
    14          
    15         if(stack2.empty()){
    16             while(!stack1.empty()){
    17                 stack2.push(stack1.pop());
    18          }
    19         }
    20         return stack2.pop();
    21     }
    22 }

    20180303

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     def __init__(self):
     4         self.stack1=[]
     5         self.stack2=[]
     6     def push(self, node):
     7         # write code here
     8         self.stack1.append(node)
     9     def pop(self):
    10         # return xx
    11         if self.stack2==[]:
    12             while self.stack1!=[]:
    13                 self.stack2.append(self.stack1.pop(-1))
    14         return self.stack2.pop(-1)
  • 相关阅读:
    Python基础(2)
    Python基础(3)
    Python基础(1)
    [日本语]单词1
    【.Net】 C#参数数组与函数重载
    pyenv
    Pip批量安装/卸载包
    Xcode中模拟器慢
    iPhone的设备名转换
    在python命令行执行sudo命令
  • 原文地址:https://www.cnblogs.com/zle1992/p/7764008.html
Copyright © 2011-2022 走看看