优选算法_翻转链表_头插法_C++

一.题目解析

算法解析:

结合画图和头插代码就很好理解了

二.代码编写:

cpp 复制代码
/**
 * 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) {
        if(head==nullptr||head->next==nullptr)return head;

        ListNode*newhead=new ListNode(0);
        ListNode*cur=head;
        while(cur!=nullptr)
        {
            ListNode*next=cur->next;//注意顺序和位置
            cur->next=newhead->next;
            newhead->next=cur;
            cur=next;
        }
        cur=newhead->next;
        delete newhead;
        return cur;
    }
};
相关推荐
Shadow(⊙o⊙)15 小时前
专题二滑动窗口
数据结构·算法
环流_15 小时前
多线程2(Java线程的状态)
java·开发语言
_oP_i15 小时前
python 之playwright 介绍
开发语言·python
tankeven15 小时前
HJ181 相差不超过k的最多数
数据结构·c++·算法
浪客川15 小时前
【百例RUST - 009】容器 Vector
开发语言·rpc·rust
环流_15 小时前
多线程3(线程安全问题及解决方案)
java·开发语言
XWalnut15 小时前
LeetCode刷题 day13
数据结构·算法·leetcode
小马_xiaoen16 小时前
前端虚拟列表(Virtual List)从原理到实战:海量数据渲染终极方案
前端·数据结构·list
覆东流16 小时前
第2天:Python变量与数据类型
开发语言·后端·python
AlbertS16 小时前
distcc + ccache 编译递归问题排查总结
c++·cmake·gcc·g++·distcc·ccache