Question d’entretien chez Salesforce

How to reverse a Linklist

Réponses aux questions d'entretien

Utilisateur anonyme

21 août 2012

An iterative solution: public Node reverseList(Node head){ Node pointer2 = null; while(head!=null){ Node pointer1 = head; head=head.next; pointer1.next=pointer2; pointer2=pointer1; } head = pointer1; return head; }

Utilisateur anonyme

30 oct. 2011

package SF; import java.util.Iterator; import java.util.LinkedList; public class example1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub LinkedList myList = getTestData(); LinkedList reversedList = reverseList(myList); output(myList); output(reversedList); } private static LinkedList reverseList(LinkedList myList) { LinkedList reversedList = new LinkedList(); LinkedList myCopy = (LinkedList) myList.clone(); Iterator iter = myCopy.iterator(); while( !myCopy.isEmpty()) { Integer item = (Integer) myCopy.getLast(); reversedList.add(item); myCopy.removeLast(); } return reversedList; } private static void output(LinkedList myList) { Iterator iter = myList.iterator(); while (iter.hasNext()) { Integer item = (Integer) iter.next(); System.out.println(item); } } private static LinkedList getTestData() { LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); return list; } }