LeetCode 206. 反转链表
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL
算法:我们对原链表进行头插即可。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* reverseList(ListNode* head) { auto l=new ListNode(-1); l->next=head; auto p=l->next,q=l; l->next=NULL; while(p){ q=p; p=p->next; q->next=l->next; l->next=q; } return l->next; } };