Pergunta de entrevista da empresa Amazon

How to print a link list reversely

Respostas da entrevista

Sigiloso

16 de jun. de 2012

The simplest solution would be: 1. Traverse a linked list from head to tail 2. During traversal, push all the elements of the node into a stack 3. Once the traversal is done, pop all elements and this will print the linked list in reverse order ... Looking fwd for an optimized solution ...

2

Sigiloso

30 de dez. de 2013

the stack solution is good, you can also use recursion void printReverse(ListNode node) { if(node == null) return; printReverse(node.next); System.out.println(node.value); }

1

Sigiloso

25 de set. de 2012

void printLLreverse(Node *headNode) { //this is going to just iterate through the LL //add each element to a stack and //print the stack when we are finished stack llStack; Node* currNode = headNode; while(currNode) { llStack.push(currNode->data); currNode = currNode->next; } while(llStack.size() > 0) { cout << llStack.top(); llStack.pop(); } }