class Solution {
  public:
    ListNode* ReverseList(ListNode* pHead) {
       if(pHead==NULL) return pHead;
       ListNode*cur=pHead;
       ListNode*pre=NULL;
       while(cur)
       {
        ListNode*temp=cur->next;//临时储存cur的下一个节点
        cur->next=pre;//断开原链表反转链表
        pre=cur;//从后往前赋值以防cur值被覆盖
        cur=temp;
       }
       return pre;
   }
};