1)prev指针指向已经反转好的链表的最后一个节点,最开始没有反转,所以指向null
2)curr指针指向待反转链表的第一个节点,最开始第一个节点待反转,所以指向pHead
3)next指针指向待反转链表的第二个节点,目的是保存链表,先指向null
4)不断的进行保存指针,指针后移,最后prev为新的头结点
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
*
* @param pHead ListNode类
* @return ListNode类
*/
struct ListNode* ReverseList(struct ListNode* pHead ) {
struct ListNode*prev=NULL;
struct ListNode*curr=pHead;
struct ListNode*next=NULL;
while(curr!=NULL){
next=curr->next;
curr->next=prev;
prev=curr;
curr=next;
}
return prev;
}