Pergunta de entrevista da empresa Salesforce

Implement a stack using a Queue

Respostas da entrevista

Sigiloso

13 de nov. de 2015

I think you meant "Implement a queue using stack"

Sigiloso

29 de dez. de 2015

Use 2 queues: queue1 and queue2: public void push(E e) { queue1.enqueue(e); } public E pop() { while( queue1.size() > 1) { queue2.enqueue( queue1.dequeue() ); } E e = queue1.dequeue(); swapQueues( queue1, queue2 ); return e; }

Sigiloso

5 de jan. de 2016

Push: enque the new element E, dequeue all existing elements (except for E) and enqueue them again. Pop: dequeue.

Sigiloso

21 de out. de 2015

Use two stacks , one for enqueuing, another one for dequeuing. function enqueue(){ if (stack1.length !== 0){ while (stack2.length !== 0){ stack1.push(stack2.pop()); } } return stack1.pop(); } function dequeue(){ if (stack2.length !== 0){ while(stack1.length !== 0){ stack2.push(stack1.pop()); } } return stack2.pop(); }