[剑指offer] 5. 用两个栈实现队列

题目描述

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

纯考察对数据结构的熟悉
class Solution
{
public:
  void push(int node)
  {
    while (!stack1.empty())
    {
      stack2.push(stack1.top());
      stack1.pop();
    }
    stack1.push(node);
    while (!stack2.empty())
    {
      stack1.push(stack2.top());
      stack2.pop();
    }
  }

  int pop()
  {
    int res = stack1.top();
    stack1.pop();
    return res;
  }

private:
  stack<int> stack1;
  stack<int> stack2;
};

 

posted @ 2018-11-30 15:31  Ruohua3kou  阅读(94)  评论(0编辑  收藏  举报