/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode *reverseList(struct ListNode *head)
{
struct ListNode *res = NULL;
while (head)
{
struct ListNode *pre_node = head;
head = head->next;
pre_node->next = res;
res = pre_node;
}
return res;
}