Pergunta de entrevista da empresa Palantir Technologies

Use a stack to implement a queue.

Respostas da entrevista

Sigiloso

10 de set. de 2012

/* Omitted Enqueue and other set up */ public E dequeue(Stacks) { if(s.size()==1) return s.pop() E tmp = s.pop(); E rez = popElem(s); s.push(tmp); return rez; }

Sigiloso

3 de jan. de 2015

The Roman's answer is almost good, if you remove the second copyElements call from dequeue then you get amortized O(1) time for both operations.