本期知识点导图:

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.下期要讲解的题目是
下期见。