双链表思想
struct ListNode* ReverseList(struct ListNode* pHead ) {
//创建一个新的列表
struct ListNode* newHead=NULL;
//创建一个临时节点
struct ListNode* temp=NULL;
while(pHead!=NULL){
//将原链表的头指针保存到临时列表中
temp=pHead->next;
//将新链表挂在
pHead->next=newHead;
//将新链表更新
newHead=pHead;
pHead=temp;
}
//每次访问原链表节点 会成为新链表的头结点
return newHead;
}