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

链表翻转

 1、迭代

class Solution {
public:
    ListNode* reverseList(ListNode* head) {   // 迭代
        ListNode* pre = nullptr, * cur = head, * next;
        while (cur)
        {
            next = cur->next;
            cur->next = pre;
            pre = cur;
            cur = next;
        }
        return pre;
    }
};

 next指针用于保存后续结点,指向交换交给pre、cur指针完成。

2、递归

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;
    }
};

 

相关文章:

  • LRU缓存算法
  • 判断单链表中是否存在环
  • LeeCode61 旋转链表
  • LeeCode74 搜索二维矩阵
  • (0)Nginx 功能特性
  • (2)nginx 安装、启停
  • (3)nginx 配置(nginx.conf)
  • 汇编语言学习笔记--基础知识篇
  • IAR for 430软件的简单使用
  • 430单片机时钟系统与复位系统的配置(1)
  • 430单片机时钟系统与复位系统的配置(2)
  • STM32F103芯片的一些小知识
  • RCC的一些小知识
  • stm32 SPI学习
  • SPI通信过程以及 STM32的SPI特性构架
  • JAVA_NIO系列——Channel和Buffer详解
  • javascript 总结(常用工具类的封装)
  • JavaScript对象详解
  • laravel with 查询列表限制条数
  • Mysql5.6主从复制
  • Python 反序列化安全问题(二)
  • Python中eval与exec的使用及区别
  • ucore操作系统实验笔记 - 重新理解中断
  • windows下使用nginx调试简介
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 配置 PM2 实现代码自动发布
  • 为什么要用IPython/Jupyter?
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (26)4.7 字符函数和字符串函数
  • (AngularJS)Angular 控制器之间通信初探
  • (八)c52学习之旅-中断实验
  • (搬运以学习)flask 上下文的实现
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (黑马C++)L06 重载与继承
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (南京观海微电子)——I3C协议介绍
  • (转)visual stdio 书签功能介绍
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *p++,*(p++),*++p,(*p)++区别?
  • .net core webapi 大文件上传到wwwroot文件夹
  • .Net Core与存储过程(一)
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net mvc部分视图
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • /bin/rm: 参数列表过长"的解决办法
  • /etc/motd and /etc/issue
  • @SpringBootApplication 包含的三个注解及其含义