牛客反转链表C语言
struct ListNode* ReverseList(struct ListNode* pHead ) {
struct ListNode *next=pHead->next;
struct ListNode *cur=pHead;
struct ListNode *pre=NULL;
while(cur)//旧的链表不为空就继续循环
{
//在遍历旧链表的时候 将每一个结点的指针改变 注意要先将旧链表中的next赋值给新创建的next,然后将结点next指向前一个结点pre,让后通过next遍历
next=cur->next;//该指针用来使cur能遍历旧链表
cur->next=pre;//把当前节点的指针域指向前一个结点
pre=cur;//旧链表中前一个结点遍历到旧链表中的下一个结点
cur=next;//就连表中的当前结点遍历到下一个结点
}
return pre;
}