天天一道算法题【蓝桥杯】【反转链表的递归实现】
https://i-blog.csdnimg.cn/direct/3d9a563478de45eaabdf2337c6e8d759.png思绪
reservelist(head->next)能够完成头结点背面的反转链表
返回新的头结点
直接深度搜索
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
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 == NULL || head->next == NULL) return head; //后序遍历,当到链表末端的时候直接返回
ListNode* newhead = reverseList(head->next); //相信这个函数一定能够完成后面的链表反转的操作,返回新的头结点
head->next->next = head; //当前节点逆置后面的链表,
head->next = NULL;
return newhead;
}
};
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]