优选算法_翻转链表_头插法_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;
    }
};
相关推荐
铅笔小新z1 分钟前
【C语言】数据类型和变量
c语言·开发语言
code_whiter6 分钟前
C++11(stack和queue)
开发语言·c++
流年如夢9 分钟前
二叉树详解
c语言·数据结构·算法
最后一支迷迭香10 分钟前
苹果的MacOS系统适合做Java开发吗
java·开发语言·macos
m0_7390300011 分钟前
[特殊字符] Java 高频面试题汇总
java·开发语言·面试
2zcode12 分钟前
基于MATLAB的5G物理层文本传输系统仿真与性能分析
开发语言·5g·matlab
用户8055336980316 分钟前
现代Qt开发教程(新手篇)2.1——QPainter 绘图基础
c++·qt
xiaoxiaoxiaolll17 分钟前
Nature Communications:三维超原子库+原子层保护,突破全彩VR超透镜量产瓶颈
人工智能·算法
仍然.18 分钟前
算法题目---栈
算法
博界IT精灵18 分钟前
二叉排序树和平衡二叉树(哈喜老师)
数据结构·考研