ps:本链表为无头链表
1.定义指针next, prev 用来协助操作
2.next 指向第二结点, 第一结点 的 next 指针指向prev
3. prev 指向 head (第一结点), 为了方便循环
4. head 指向第二结点 , 开始循环 , 直到 最后一个结点反转完毕
5.返回 prev (原链表已消失)
#include<stdio.h>
typedef struct stlistNode
{
int val;
struct stlistNode* next;
}listNode;
/*反转链表*/
listNode* reverseList(listNode* head)
{
listNode* prev = NULL;
listNode* next = NULL;
while (head != NULL)
{
next = head->next;
head->next = prev;
prev = head;
head = next;
}
return prev;
}
好久没有更新了,写的代码重新找出来很麻烦,以后要即使更新呀