/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* ReverseList(ListNode* pHead) { ListNode* head = new ListNode(-1); while(pHead){ auto tmp = pHead->next; pHead->next = head->next; head->next = pHead; pHead = tmp; } return head->next; } };