力扣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.mzph.cn/news/720607.shtml

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

相关文章

如何开通 chatGPT4 会员

如何开通 chatGPT4 会员 你是否对最新的人工智能技术充满好奇?想要体验OpenAI的最新成果,ChatGPT-4?现在,通过https://bewildcard.com/i/XUE16 这个链接注册WildCard,你可以轻松实现这一切! 详细教程Wild…

3.1_2024ctf青少年比赛部分web题

php后门 根据x-powered-by知道php的版本 该版本存在漏洞: PHP 8.1.0-dev 开发版本后门 根据报错信息,进行提示,前 GET / HTTP/1.1 Host: challenge.qsnctf.com:31639 User-Agentt:12345678system(cat /flag);var_dump(2*3);zerodium12345678…

【小白学机器学习6】真实值,观测值,拟合值,以及数据的误差的评价:集中趋势,离散度,形状等

目录 1 世界上有哪几种值?只有3种值 1.1 真值/真实值/理想值/主观值(形而上学世界里) 1.2 实际值/现实值/观测值/样本值(看到的/记录下来的) 1.3 拟合值/预测值(算出来的) 2 对数据的各种…

C语言利用函数创建链表,修改链表(插入,删除,添加),指针函数的返回

这段代码是一个简单的链表操作程序&#xff0c;包括创建节点、在链表末尾添加节点、在指定位置插入节点和删除指定位置的节点。以下是详细的注释&#xff1a; #include<stdio.h> #include<stdlib.h>// 定义链表节点结构体 struct listnode{int i; // 节点存储的整…

TDengine 签约树根互联,应对“高基数”难题

近日&#xff0c;树根互联与涛思数据达成签约合作&#xff0c;共同推动智能制造领域的建设。作为一家处于高速发展期的工业互联网企业&#xff0c;树根互联将新一代信息技术与制造业深度融合&#xff0c;开发了以自主可控的工业互联网操作系统为核心的工业互联网平台——根云平…

【HTML】HTML标签实例学习笔记(待更新)-黑马程序员

【HTML】HTML标签实例学习笔记&#xff08;待更新&#xff09;-黑马程序员 成对出现的标签 标签一般都是成对出现&#xff0c;标签之间的关系有包含关系和并列关系两种。 像 <head></head>为双标签&#xff0c;<br/>为单标签 单标签很少 大多数都为双标签。…

springboot项目单纯使用nacos注册中心功能

Spring Boot 项目完全可以单独使用 Nacos 作为注册中心。Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它支持服务的注册与发现&#xff0c;能够与 Spring Boot 应用无缝集成&#xff0c;为微服务架构提供了强大的支持。 在使用 Nacos 作为注册中…

Python实现DMI工具判断信号:股票技术分析的工具系列(3)

Python实现DMI工具判断信号&#xff1a;股票技术分析的工具系列&#xff08;3&#xff09; 介绍算法解释 代码rolling函数介绍完整代码 介绍 先看看官方介绍&#xff1a; DMI (趋向指标&#xff09; 用法 1.PDI线从下向上突破MDI线&#xff0c;显示有新多头进场&#xff0c;为…

系统架构29 - 架构风格补充(下)

面向服务架构风格 关键目标关键技术实现方式WEB Service服务注册表企业服务总线ESB特点&#xff1a; SOA是一种 粗粒度、松耦合服务架构&#xff0c;服务之间通过简单、精确定义接口进行通信&#xff0c;不涉及底层编程接口和通信模型。 在SOA中&#xff0c; 服务是一种为了满…

BUUCTF---[BJDCTF2020]藏藏藏1

1.题目描述 2.下载附件&#xff0c;解压之后是一张图片和一个文本 3.把图片放在winhex,发现图片里面包含压缩包 4.在kali中使用binwalk查看&#xff0c;然后使用foremost分离&#xff0c;在使用tree查看分离出来的文件&#xff0c;最后将zip文件使用unzip进行解压。步骤如下 5.…

pdf编辑软件哪个好用?5款PDF编辑器分享

pdf编辑软件哪个好用&#xff1f;PDF编辑软件在现代办公和学术研究中发挥着举足轻重的作用&#xff0c;它们不仅具备基础的编辑和修改功能&#xff0c;还能够支持多种注释工具&#xff0c;帮助我们高效地管理和整理PDF文件。无论是需要调整文档布局、添加文本或图像&#xff0c…

RocketMQ - 从RocketMQ全链路分析一下为什么用户支付后没收到红包?

1. 订单系统推送消息到MQ的过程会丢失消息吗? 订单系统在接收到订单支付成功的通知之后,必然会去推送一条订单支付成功的消息到MQ,那么在这个过程中,会出现丢失消息的问题吗? 答案是可能会丢失的,比如订单系统在推送消息到RocketMQ的过程中,是通过网络去进行传输的,但…

C++ 前缀和

目录 例1 例2 例3 例4 例5 例6 例7 例8 例1 DP34 【模板】前缀和 分析&#xff1a;dp和arr的大小并不是固定的&#xff0c;就是有没有偏移量&#xff0c;这里的n是从1开始&#xff0c;不如直接放到下标1处&#xff0c;在最后的减法时&#xff0c;如果用第一个参考代码会…

MySQL - #1115 - Unknown character set: ‘utf8mb4‘

问题描述 #1115 - Unknown character set: utf8mb4 原因分析 因为在创建表的时候是有这个编码的&#xff0c;但是在单独修改某个字段的编码时发现报错&#xff0c;虽然觉得莫名其妙&#xff0c;那就将机就计&#xff0c;改成大概率有的编码——UTF8&#xff0c;因为这边为的是…

rtt的io设备框架面向对象学习-touch设备

目录 1.触摸设备基类2.触摸设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 io设备管理层 4.总结5.使用5.1实例 1.触摸设备基类 此层处于设备驱动框架层。此层的类是抽象类。 在/ components / drivers / include / drivers /touch.h定义了如下touch设备…

云计算 3月2号 (自配本地和远程yum源)

自建yum源 本地源 一、使用本地的镜像文件来制作yum源(做完记得删除) 1、挂载dvd镜像或将镜像拷贝到机器中 mkdir /yum-repo mount /dev/cdrom /yum-repo # 如果我们在设置中挂载了镜像使用这个方法 mount 镜像的路径 /yum-repo # 如果我们拷贝镜像到了系统中&#xff0c;可…

flink on yarn paimon

目录 概述实践paimon 结束 概述 ogg kafka paimon 实践 前置准备请看如下文章 文章链接hadoop一主三从安装链接spark on yarn链接flink的yarn-session环境链接 paimon 目标: 1.同步表2.能过 kafka 向 paimon写入 SET parallelism.default 2; set table.exec.sink.not-n…

Ai学社致力于Ai视觉设计和AI绘画

Ai学社来啦&#xff01;致力于短时间搞定Ai视觉设计、AI绘画。 遍知首席Ai讲师&#xff0c;教大家如何利用Ai迅速提升工作效率&#xff0c;升职加xin&#xff01;目前申请对ai感兴趣的均可以参加&#xff01;免费报名。 招生人数&#xff1a;本批次至少招募100名。招生时间&…

C++ Date类型定义 (类的简单实践案例)

//头文件#include<iostream> #include<assert.h> using namespace std;class Date { public:// 获取某年某月的天数int GetMonthDay(int year, int month);// 全缺省的构造函数Date(int year 1900, int month 1, int day 1);// 拷贝构造函数// d2(d1)Date(const…

LeetCode-02

225. 用队列实现栈 用两个队列实现栈的功能&#xff0c;思路如下&#xff1a; 往空队列中放新元素把非空队列中的元素依次放入刚才添加了新元素的队列&#xff0c;直到非空队列变为空队列 class MyStack(object):def __init__(self):self.queue1 []self.queue2 []def push(…