反转一个单链表。
/** * 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) {
ListNode* h = head;
ListNode* node = new ListNode(0);
ListNode* s;
while(h)
{
s = h->next;
h->next = node->next;
node->next = h;
h = s;
head = node->next;
}
return head;
}
};
----------------------------------------------------Vivi-2020-4-5------------------------------