湖南服务专业的网站制作,冀州网站建设,个体工商户注册网站,ps软件哪个版本最好用题目描述 给你单链表的头节点 head #xff0c;请你反转链表#xff0c;并返回反转后的链表。
示例
解题方法 假设链表为 1→2→3→∅#xff0c;我们想要把它改成∅←1←2←3。在遍历链表时#xff0c;将当前节点的 next指针改为指向前一个节点。由于节点没有引用其前一…题目描述 给你单链表的头节点 head 请你反转链表并返回反转后的链表。
示例
解题方法 假设链表为 1→2→3→∅我们想要把它改成∅←1←2←3。在遍历链表时将当前节点的 next指针改为指向前一个节点。由于节点没有引用其前一个节点因此必须事先存储其前一个节点。在更改引用之前还需要存储后一个节点。最后返回新的头引用。
代码
//*
// * 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* curr head;ListNode* prev nullptr;while (curr) {ListNode* next curr-next;curr-next prev;prev curr;curr next;}return prev;}
};