题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
*
* @param pHead ListNode类
* @return ListNode类
*/
struct ListNode* ReverseList(struct ListNode* pHead ) {
// write code here
struct ListNode *back;
struct ListNode *p;
struct ListNode *forward;
// 检测链表节点数要>1
if(pHead == NULL || pHead->next == NULL)
{
return pHead;
}
// 初始化指针值
back = pHead;
p = pHead;
forward = pHead->next;
while(forward != NULL)
{
back = p;
p = forward;
forward = forward->next;
p->next = back;
}
pHead->next = NULL;
return p;
}
#C语言反转链表##链表反转#

