Reverse a singly linked list.
题目:翻转一个单向链表
很简单,不过要注意设置两个辅助指针变量
/** * 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) { if (!head || !head->next)return head; ListNode *mid=head->next,*last=mid->next; head->next = NULL; for (;last;) { mid->next = head; head = mid; mid = last; last = last->next; } mid->next = head; return mid; } };