问答题 没有一个不带表头结点的单链表,表头指针为head。试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向逆转。要求逆转结果链表的表头指针head指向原链表的最后一个结点。
【正确答案】
【答案解析】void Inverse (LinkList & head){
//head设为引用型,因要返回head改变后的值
if(head==NULL)return; //空表无需逆转
LinkedNode * p=head->link, * pr=NULL;
while(p!=NULL){
head->link=pr; //逆转head指针
pr=head;head=p;p=p->link; //指针前移
}
head->link=pr;
}