递归专题(4)——两两交换链表中的节点

本期知识点导图:

1.上期参考代码:

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=reverseList(head->next);  
       head->next->next=head;
       head->next=nullptr;
       return newhead;
    }
};

代码写出来真的一样耶,神奇不~

后边我们遇到递推,直接无脑宏观就得,不要再死磕具体了

2.本期知识点导图

3.本期要讲解的题目是:

两两交换链表中的节点

要点:

从头开始,两两交换相同节点

只改变指向,不改变值

返回头结点

这题也是非常ez啊,拿来给大家练练手刚好合适

4.解题

1.重复子问题:俩俩交换剩余链表相邻元素

2.子问题具体做什么:俩俩交换相邻元素

3.出口:剩余链表不足俩元素

5.下期要讲解的题目是

Pow(x, n)快速幂

下期见。

相关推荐
潜心一志5 分钟前
图像预处理—— 图像的变换与校正(理论)
学习·计算机视觉
nmjkhome7 分钟前
26 疲劳的几个重要概念(第51课)-solid works simulation
学习
程序猿乐锅11 分钟前
【从0-1学习Python | 第六篇】 Python 函数:定义、参数与返回值
开发语言·python·学习
燕落南枝12 分钟前
HTML 学习:input 单选、复选与文件域详解
服务器·学习·html
草莓熊Lotso3 小时前
【C++ 基于微服务的即时通讯系统】etcd + brpc 从安装到服务注册发现全链路实战
网络·数据库·c++·redis·微服务·etcd
inrichtt9 小时前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
HPtiger9 小时前
数据结构——选择排序
数据结构·算法·排序算法
康实训9 小时前
老年评估仿真实训平台架构设计与老年人能力评估实训室教学落地实践
大数据·人工智能·算法·实训室·实训室建设
DongQiShanRen10 小时前
六根硬件映射(四):归属澄清、两处不一致与卷十一总表
开发语言·人工智能·算法·rust·哈希算法·集成学习
CCblandy10 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构