package com.interview.algorithms.list;
import com.interview.basics.model.collection.list.LinkedList;
import com.interview.basics.model.collection.list.Node;
/**
* Created_By: stefanie
* Date: 14-7-9
* Time: 下午10:46
* p1 p2
* | |
* a1,a2,a3,a4,a5,b1,b2,b3,b4,b5
*/
public class C3_7_ListRearrange {
public static LinkedList<String> rearrange(LinkedList<String> list){
Node<String> p1 = list.getHead();
Node<String> p2 = list.getHead();
while(p2 != null && p2.next != null){
p1 = p1.next;
p2 = p2.next.next;
}
p2 = list.getHead();
while(true){
Node<String> tmp1 = p2.next;
p2.next = p1;
if(p1.next == null) return list;
Node<String> tmp2 = p1.next;
p1.next = tmp1;
p2 = tmp1;
p1 = tmp2;
}
}
}