class Solution {
public:
ListNode* reverseList(ListNode* head) {
while(!head ||!head->next) return head;
auto p=head,q=p->next;
while(q)
{
auto o=q->next;
q->next=p;
p=q,q=o;
}
head->next= NULL;
return p;
}
};