当前位置: 首页 > news >正文

链表_反转链表

链表_反转链表

  • 一、leetcode-206
  • 二、题解
    • 1.引库
    • 2.代码-1
    • 3.代码-2(递归)


一、leetcode-206

反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

输入:head = [1,2,3,4,5]

输出:[5,4,3,2,1]


二、题解

1.引库

 #include <iostream>
 #include <cstdio>
 #include <cstdlib>
 #include <queue>
 #include <stack>
 #include <algorithm>
 #include <string>
 #include <map>
 #include <set>
 #include <vector>
 using namespace std;
 

2.代码-1

1.之前用过头插法,就是创建链表的方法进行反转
2.这次使用双指针法,一前一后进行反转

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode* temp; // 保存cur的下一个节点
        ListNode* cur = head;
        ListNode* pre = NULL;
        while(cur) {
            temp = cur->next;  // 保存一下 cur的下一个节点,因为接下来要改变cur->next
            cur->next = pre; // 翻转操作
            // 更新pre 和 cur指针
            pre = cur;
            cur = temp;
        }
        return pre;
    }
};
 

3.代码-2(递归)

1.reverseList(ListNode* head)返回反转链表的头节点
2.head== NULL||head->next== NULL直接返回head
3.头节点后面的节点是反转后的尾节点,反转后将头节点接在该节点之后

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        // 边缘条件判断
        if(head == NULL) return NULL;
        if (head->next == NULL) return head;
        
        // 递归调用,翻转第二个节点开始往后的链表
        ListNode *last = reverseList(head->next);
        // 翻转头节点与第二个节点的指向
        head->next->next = head;
        // 此时的 head 节点为尾节点,next 需要指向 NULL
        head->next = NULL;
        return last;
    }
}; 
 

相关文章:

  • 矿用机车移动逆变电源设计(论文+源码)
  • 机器学习实战(8):降维技术——主成分分析(PCA)
  • 深入浅出:0 - 1 背包问题的滚动数组解法
  • 延迟任务的11种实现方式(下)!!
  • 机器学习实战(7):聚类算法——发现数据中的隐藏模式
  • 【C++八股】野指针和悬空指针
  • SOME/IP--协议英文原文讲解9
  • golang面试题:两个interface{} 能不能比较?
  • SprutCAMX16数控软件介绍
  • uniapp图像转换(获取本地选取或拍照的图片的base64、Blob、图像和base64的转换)
  • vscode复制到下一行
  • 什么是网络安全审计?网络安全审计的作用...
  • 【Mastering Vim 2_04】第三章:追随最佳实践:插件管理之道
  • 用PyInstaller构建动态脚本执行器:嵌入式Python解释器与模块打包 - 简明教程
  • 第四天面试题
  • Kafka消息服务之Java工具类
  • 在局域网中连接Grafana数据源
  • 什么是Grok-3?技术特点,场景,潜在问题与挑战
  • 数据结构(第八章 排序算法)
  • 成人床垫更新关于 SOR/2016-183 和《纺织品贴标和广告法规》的合规
  • 宝通科技:与宇树合作已签约,四足机器人在工业场景落地是重点商业化项目
  • 外企聊营商|波音速度:创新审批促“起飞”
  • 《新时代的中国国家安全》白皮书(全文)
  • 农行深圳市分行原副行长王国彪涉嫌严重违纪违法被查
  • 第19届威尼斯建筑双年展开幕,中国案例呈现“容·智慧”
  • 上海发布大风黄警:预计未来24小时内将出现8-10级大风