代码随想录:反转链表
头插法
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode* virt = new ListNode();ListNode* target = head;while (target != NULL) {ListNode* temp = target->next;target->next = virt->next;virt->next = target;target = temp;}return virt->next;}
};