//传入的单链表为带头节点的单链表,返回的也是带头节点的单链表
void reversion(LinkedList &L,LinkedList &head){
LinkedList next = NULL;
LinkedList pre = NULL;
LinkedList cur = L;
int i = 1;
//第一个节点在传入的链表中为虚拟头节点,需要特殊处理
while(cur != NULL){
next = cur->next;
cur->next = pre;
pre = cur;
if(i == 1){
pre = NULL;
i++;
}
cur = next;
}
LinkedList newHead = new LNode;
newHead->next = pre;
head = newHead;
return;
}