1 链表的反转 1.1 原地反转 注意:这里针对的是有头结点的链表 思路:使用两个指针p, q,指针p永远指向原列表的第一个结点,指针q指向要反转的下一个结点。 开始时的指针位置: 指针交换(1)(2)(3)是交换的先后顺序。 第一次循环完之后 依次循环可得到反转的列表。 void Reverse(LinkList *list) { //原地反转法 LinkList p, q; p = (*list)->next; //列表的第一个结点 while(p->next) {