题目描述: 编写一个函数,实现对一个无头结点的单链表进行逆向。输入为单链表的第一个结点指针,要求返回逆向后的 单链表第一个结点的指针。 struct NODE{/*单链表数据结构*/ int data; struct NODE* next; }; NODE* reverse(NODE* first) { NODE* p(NULL);/*记录逆序过程中已经逆序的最后一个结点, 相当于逆序结束后指向单链表的第一个结点*/ NODE* q(NULL);/*逆向当前结点时保存后续链表*/ while(first){ q=first->next;/*保存后续链表*/ first->next=p;/*逆向当前结点*/ p=first;/*保存逆向结果*/ first=q;/**/ } return p; }