35.反转链表

定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。

思考题:

  • 请同时实现迭代版本和递归版本。
数据范围

链表长度 0,30。

样例
复制代码
输入:1->2->3->4->5->NULL

输出:5->4->3->2->1->NULL

1.迭代操作

cpp 复制代码
ListNode* reverseList(ListNode* head) {
        ListNode *prev=nullptr;
        ListNode *cur=head;
        while(cur){
            ListNode *next=cur->next;
            cur->next=prev;
            prev=cur;
            cur=next;
        }
        return prev;
    }

2递归操作

cpp 复制代码
ListNode* reverseList(ListNode* head) {
        if(!head||!head->next)return head;
        ListNode *tail=reverseList(head->next);
        head->next->next=head;
        head->next=nullptr;
        return tail;
    }
相关推荐
布莱克60510 分钟前
A* 算法详解:从原理到实现
开发语言·c++·算法
段一凡-华北理工大学17 分钟前
高炉炼铁机器视觉与智能识别十八讲~系列文章15:可靠性篇:防误报、容错与识别系统的鲁棒性设计
人工智能·算法·机器学习·高炉大模型·高炉机器视觉·高炉炼铁模型开发
某林2121 小时前
局部路径规划器 DWB:速度采样与评分权重的取值分析
人工智能·算法·架构·机器人·技术复盘
AI职业加油站1 小时前
模数共振行动解读|大模型应用工程师证书,匹配行业 RAG/Agent 落地人才需求
人工智能·学习·算法·职场和发展·职场发展
lengxuenong2 小时前
树状数组 · 信息学学习手册2-离散化与逆序对
c++·学习·算法
琳达爱分享2 小时前
五个线程同时去换 token,四个被踢下线:刷新接口其实不是幂等的
后端·算法·架构
十二2 小时前
【洛谷题解】P1115 最大子段和(前缀和 + 维护最小前缀)
数据结构·c++·算法·蓝桥杯
renhongxia12 小时前
RAG检索增强生成:打通大模型与外部知识的通道
大数据·人工智能·算法
2501_933923253 小时前
双指针算法:移动零+复写零(Java)
数据结构·算法·双指针
和芯星通unicore3 小时前
卫星信号消失的地方,定位如何继续?——解密和芯星通DR 航位推算算法
人工智能·算法·gnss·智能驾驶gnss模块