力扣206反转链表

206.反转链表

力扣题目链接(opens new window)

题意:反转一个单链表。

示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL

1,双指针

2,递归。递归参考双指针更容易写,

为什么不用头插法呢,因为头插法的空间复杂度为O(N),时间复杂度为O(n)

 //双指针
class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode * cur = head;//指向当前操作结点ListNode * pre = NULL;//指向cur的前一个结点ListNode * temp;if(cur== NULL|| cur ->next ==NULL){return head;}while(cur!=NULL){temp  = cur->next;//temp记录cur的下一个结点cur->next = pre;//cur指向前一个结点pre = cur;//pre后移cur = temp;//cur后移}return pre;//最后返回pre作为头节点}
};
/*** 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* reverse(ListNode* pre, ListNode* cur) {if(cur == NULL)return pre;//递归终止入口ListNode * temp = cur->next;cur->next = pre;return reverse(cur,temp);}ListNode* reverseList(ListNode*head){return reverse(NULL,head);}};

双指针:                                                                                        递归: 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/511641.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Word中的文档网格线与行距问题

在使用Word编辑文档时,经常会发生以下动图展示的这种情况: 上面的动图里,将文字大小放大到某个字号时,单倍行距的间距突然增加很多。造成这种情况的原因是文档中定义了网格线,并且设置了对齐到网格线。如果取消文档中…

jquery登录页模版实现记住密码功能

login.less样式 #Login {width: 100%;height: 100vh;background: url(../images/bg.png) no-repeat;background-size: 100% 100%;display: flex;justify-content: center;.container {display: inline-block;width: 4.64rem;height: 4.7rem;// padding: .2rem;border: 1px sol…

【Python】matplotlib绘制图像时增加颜色条

一、需求 plt.imshow()是matplotlib中的一个函数,用于显示图像。它可以传递一个二维或三维数组作为image参数, 并将图像数据显示为图形,并对图像进行不同的可视化设置。 在显示的过程中,我们如果需要增加一个图例显示颜色条&…

(每日持续更新)jdk api之PipedWriter基础、应用、实战

博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…

使用reduce递归获取有多层嵌套的数组中的children

常见的多层嵌套的数组,如下 const items [{id: 1,name: "item1",children: [{id: 11,name: "item11",children: [{id: 111, name: "item111"},{id: 112, name: "item112"}]},{id: 12,name: "item12",children:…

【问题】解决c++调用exosip是报错,无法解析的外部符号 _DnsQueryConfig@24

问题描述: error LNK2019: 无法解析的外部符号 _DnsQueryConfig24,函数 _eXosip_dnsutils_naptr 中引用了该符号 DnsQueryConfig是windowAPI,可查阅msdn。 #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"Dnsapi.…

Flutter学习8 - 网络编程 Http

1、配置 Http 依赖 Flutter 工具库搜索地址:https://pub.dev/ http最新版本查看网址: https://pub.dev/packages/http 在 pubspec.yaml 中引入 http 插件 dependencies:flutter:sdk: flutterhttp: ^0.13.4 # 请检查并使用最新版本命令行中输入 “ flut…

服务器后端是学习java还是php

没有绝对的"最好"语言,每种后端语言都有其适用的场景和特点。以下是几种常用的后端语言: 1. Java:Java是一种通用且强大的语言,广泛用于企业级应用和大型系统。它有很好的性能和可靠性,并且具有优秀的生态系…

jxls——自定义命令设置动态行高

文章目录 前言依赖引入绘制 jxls 批注的 excel 模板测试类编写自定义命令关于自动换行 前言 之前的博客中都简单说了数据的渲染和导出excel文件。包括固定的 表头结构,以及动态 表头和表数据等方式。 本篇博客主要说明自定义命令的方式,控制输出excel文…

线上问题——学习记录幂等判断失效问题分析

一、业务流程 上图是对save和saveScore两个接口的流程抽象,save是上传答题数据,saveScore则是上传答题分数,为保证幂等和防止并发调用,这两个接口都加了分布式锁(还是两层哦)。第一层使用的是不同的锁&…

NXP实战笔记(十一):32K3xx基于RTD-SDK在S32DS上配置LPSPI(同步、异步、DMA、主机、从机、中断、轮询)

目录 1、概述 2、RTD-SDK配置 2.1、配置目标 2.2、主、从机引脚配置 2.3、时钟配置 2.4、LPSPI配置 2.5、中断配置 2.6、DMA配置(使用DMA才会配置) 2、dma Logic Instance 2.7、RM配置(使用DMA的情况下必须配置此选项) 3、代码实现 1、概述 S32K3_低功耗LPSPI轮询…

【源码】imx6ull实现触摸屏单点实验-移植tslib和qt

一、本实验实验的器材: 1.正点原子imx6ull的阿尔法开发板v2.2 2.屏幕ALIENTEK 4.3 RGBLCD 二、实验已经移植好的文件: 仓库代码:https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git 1.文件说明 arm-qt.tar.bz2:移植好的…