/*
JZ15 反转链表
描述
输入一个链表,反转链表后,输出新链表的表头。
示例1
输入:
{1,2,3}
复制
返回值:
{3,2,1}
*/
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
*
* @param pHead ListNode类
* @return ListNode类
*/
struct ListNode* ReverseList(struct ListNode* pHead ) {
// write code here
if(pHead==NULL) return pHead;//pHead为空则返回
struct ListNode* temp=pHead->next;//temp存储pHead的后面一个节点
struct ListNode* cnt=NULL;//存储pHead前一个节点
//循环让pHead指向cnt,更新cnt,pHead,temp的位置
while(temp!=NULL)
{
pHead->next=cnt;
cnt=pHead;
pHead=temp;
temp=temp->next;
}
pHead->next=cnt;
return pHead;
}