单链表的转置需要三个元素:结点、结点的前驱、结点的后继。
public void reverse(){
Node p=head.next;
Node front=null;
while(p!=null){
Node succ = p.next;
p.next = front;
front = p;
p = succ;
}
head.next = front;
}
Node succ=p.next;
是为了记录p结点的后继,并为了向后移动而建立的;
p.next=front;
是p的后继指向它的前驱,(若p为首结点,则p的后继为null,作为转置后的尾结点)
front=p
此时,p就是一个完成部分的转置单链表了ÿ