/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        ListNode *Node_head=NULL,*Node_end=NULL;
        if(pHead==NULL)
            return pHead;
        else
        {
            while(pHead->next!=NULL)
        {
            Node_end=pHead->next;
            pHead->next=Node_head; 
            Node_head=pHead;
            pHead=Node_end;
         }
        pHead->next=Node_head;
        }
        return pHead;

    }
};