// ConsoleApplication20.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<stack>
#include<algorithm>
using namespace std;
class Solution1
{
public:
void push(int node) {
int targetpush;
while (!stack2.empty())
{
stack1.push(stack2.top());
targetpush = stack1.top();
stack2.pop();
}
stack1.push(node);
targetpush = stack1.top();
}
int pop() {
int targetpop;
while (!stack1.empty())
{
stack2.push(stack1.top());
targetpop = stack2.top();
stack1.pop();
}
if (!stack2.empty())
{
targetpop = stack2.top();
stack2.pop();
return targetpop;
}
}
private:
stack<int> stack1;
stack<int> stack2;
};
class Solution
{
public:
void push(int node) {
int targetpush;
stack1.push(node);
targetpush = stack1.top();
}
int pop() {
int targetpop;
if (stack2.empty())
{
while (!stack1.empty())
{
stack2.push(stack1.top());
targetpop = stack2.top();
stack1.pop();
}
}
if (!stack2.empty())
{
targetpop = stack2.top();
stack2.pop();
return targetpop;
}
}
private:
stack<int> stack1;
stack<int> stack2;
};
int main()
{
Solution Test;
Test.push(1);
Test.push(2);
Test.push(3);
Test.pop();
Test.pop();
Test.push(4);
Test.push(5);
Test.pop();
Test.pop();
Test.pop();
Test.push(6);
Test.push(7);
Test.pop();
Test.pop();
Test.pop();
return 0;
}
剑指offer第一版 07 2堆栈实现队列
最新推荐文章于 2023-03-20 13:10:57 发布