Given the head
of a singly linked list, reverse the list, and return the reversed list.
Example 1:
Input: head = [1,2,3,4,5] Output: [5,4,3,2,1]
Example 2:
Input: head = [1,2] Output: [2,1]
Example 3:
Input: head = [] Output: []
Constraints:
[0, 5000]
.-5000 <= Node.val <= 5000
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(!head || !head->next) return head;
ListNode* p=NULL;
ListNode* c=head;
ListNode* n=c->next;
ListNode* tail=head;
while(tail->next)
tail=tail->next;
while(c)
{
n=c->next;
c->next=p;
p=c;
c=n;
}
swap(head,tail);
return head;
}
};
Office:- 660, Sector 14A, Vasundhara, Ghaziabad, Uttar Pradesh - 201012, India