反转链表
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* reverseList(struct ListNode* head){
struct ListNode *p, *q, ret;
ret.next = NULL;
p = head;
while(p){
q = p->next;
p->next = ret.next;
ret.next = p;
p = q;
}
return ret.next;
}