Directorio de artículos
Método 1: Pila auxiliar: tiempo O (n), espacio O (n)
Solución del problema: use dos pilas, una pila se usa para insertar datos, la otra pila se usa para eliminar datos
class CQueue {
public:
stack<int> stack1;
stack<int> stack2;
CQueue()
{
while (!stack1.empty())
{
stack1.pop();
}
while (!stack2.empty())
{
stack2.pop();
}
}
void appendTail(int value)
{
stack1.push(value);
}
int deleteHead()
{
if (stack2.empty())
{
while (!stack1.empty())
{
stack2.push(stack1.top());
stack1.pop();
}
}
if (stack2.empty())
return -1;
int deleteitm = stack2.top();
stack2.pop();
return deleteitm;
}
};