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;
    }
相关推荐
Lips61114 分钟前
2026.1.20力扣刷题笔记
笔记·算法·leetcode
2501_9413297223 分钟前
YOLOv8-LADH马匹检测识别算法详解与实现
算法·yolo·目标跟踪
洛生&23 分钟前
Planets Queries II(倍增,基环内向森林)
算法
小郭团队1 小时前
1_6_五段式SVPWM (传统算法反正切+DPWM2)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·matlab·dsp开发
小郭团队1 小时前
1_7_五段式SVPWM (传统算法反正切+DPWM3)算法理论与 MATLAB 实现详解
开发语言·嵌入式硬件·算法·matlab·dsp开发
鱼跃鹰飞1 小时前
Leetcode347:前K个高频元素
数据结构·算法·leetcode·面试
bybitq1 小时前
LeetCode236-二叉树的最近公共祖先(LCA)问题详解-C++
算法·深度优先
啊阿狸不会拉杆1 小时前
《数字图像处理》第 7 章 - 小波与多分辨率处理
图像处理·人工智能·算法·计算机视觉·数字图像处理
好评1242 小时前
【C++】二叉搜索树(BST):从原理到实现
数据结构·c++·二叉树·二叉搜索树
程序猿炎义2 小时前
【Easy-VectorDB】Faiss数据结构与索引类型
数据结构·算法·faiss