#力扣:206. 反转链表@FDDLC

news/2024/4/19 16:37:01/

206. 反转链表

一、Java

class Solution {public ListNode reverseList(ListNode head) {if (head == null) return null;ListNode pre = null, cur = head, next = head.next;while (next != null) {cur.next = pre;pre = cur;cur = next;next = cur.next;}cur.next = pre;return cur;}
}
class Solution {public ListNode reverseList(ListNode head) {ListNode pre = null, cur = head, next;while (cur != null) {next = cur.next;cur.next = pre;pre = cur;cur = next;}return pre;}
}
class Solution {public ListNode reverseList(ListNode head) {if (head == null || head.next == null) return head;ListNode next = head.next, newHead = reverseList(next);head.next = null;next.next = head;return newHead;}
}
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;}
}

二、C++

class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode *pre = nullptr, *cur = head, *next;while (cur != nullptr) {next = cur->next;cur->next = pre;pre = cur;cur = next;}return pre;}
};
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;}
};

三、Python

class Solution:def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:pre, cur, next = None, head, Nonewhile cur is not None:next = cur.nextcur.next = prepre = curcur = nextreturn pre
class Solution:def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:if head is None or head.next is None:return headnewHead = self.reverseList(head.next)head.next.next = headhead.next = Nonereturn newHead

四、JavaScript

var reverseList = function (head) {let pre = null, cur = head, next;while (cur != null) {next = cur.next;cur.next = pre;pre = cur;cur = next;}return pre;
};
var reverseList = function (head) {if (head == null || head.next == null) return head;let newHead = reverseList(head.next);head.next.next = head;head.next = null;return newHead;
};

五、Go

func reverseList(head *ListNode) *ListNode {var pre *ListNodecur := headfor cur != nil {next := cur.Nextcur.Next = prepre = curcur = next}return pre
}
func reverseList(head *ListNode) *ListNode {if head == nil || head.Next == nil {return head}newHead := reverseList(head.Next)head.Next.Next = headhead.Next = nilreturn newHead
}


http://www.ppmy.cn/news/1145798.html

相关文章

一个好用的k8s代理工具——KtConnect

介绍 KtConnect实现了开发者本地运行的服务与Kubernetes集群中的服务之间的双向互通。 核心功能 本地直接访问Kubernetes集群内网 通过KtConnect可以直接连接Kubernetes集群内部网络,在不修改代码的情况下完成本地联调测试 本地解析Kubernetes服务内网域名 直…

猜名次(附完整代码)

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果: A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说&#xf…

NoSQL之Redis 主从复制配置详解及哨兵模式

目录 1 Redis 主从复制 1.1 主从复制的作用 1.2 主从复制流程 2 搭建Redis 主从复制 2.1 安装 Redis 2.2 修改 Redis 配置文件(Master节点操作) 2.3 修改 Redis 配置文件(Slave节点操作) 2.4 验证主从效果 3 Redis 哨兵模…

Java—部署安装

文档结构 1、概念简介2、部署安装2.1、Win10配置2.2、linux配置 1、概念简介 企业版(Java EE)标准版(Java SE)Micro版(Java ME) Oracle把JDK分成了两种维护情况,即短期支持版本和长期支持版本; 对于短期支持版本(non-LTS)而言,Or…

实体机 安装 centos

实体机 安装 centos 制作U盘的时候,使用的ultraISO 同样方法一个u盘制作的有问题, 另外一个制作的没有问题。 可能和选择 usb-hdd 或者 usb-hdd 有关 https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/ 参考文档: http:…

汽车烟雾测漏仪(EP120)

【汽车烟雾测漏仪(EP120)】 此烟雾测漏仪专为车辆管道(油道、气道、冷却管道) 的泄露检测而设计。适用于所有轻型 汽车、摩托车、轻卡、游艇等。 【特点】 具有空气模式和烟雾模式。空气模式,无需烟雾,检测…

《树莓派python编程指南》摘要

本书源码 1】www.hzbook.com 2】www.wiley.com/go/pythonraspi 第1章:启航 打印内核信息 dmesg 打印系统日志 cat /var/log/syslog 轻量级X11桌面 LXDE 启动命令 startx 修改配置 sudo raspi-config 安装软件 sudo apt-get update sudo apt-get upg…

基于springboot实现家具销售电商平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现家具销售电商平台管理系统演示 摘要 社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机的交易方式逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。互联网具有便利性,速度快,效率高&am…

android app开发环境搭建

Android是流行的移动设备原生应用开发平台,其支持Java语言以及Kotlin语言的开发环境,本文主要描述官方提供的Android studio集成开发环境搭建。 https://developer.android.google.cn/ 如上所示,从官方上下载最新版本的Android studio集成开…

【maven私库nexus开机自启动】

linux设置nexus开机自启动_linux centos maven私服nexus安装搭建并设置开机启动 linux centos maven私服nexus安装搭建并设置开机启动,这里是用添加服务的方式开机启动nexus。 1.先要下载jdk并安装,配置java环境变量,直接去oracle下载把&am…

IP协议总结

一、定义。 IP全称为Internet Protocol,是TCP/IP协议族中的一员,负责实现数据在网络上的传输。它是一种无连接、不可靠的数据报协议。 IP协议常用于Internet网络和局域网中,它通过将数据包进行分组并进行逐跳转发来实现数据在网络中的传输。…

Python--入门

标识符 标识符由字母,数字,下划线_组成 第一个字符不能是数字,必须是字母或下划线 标识符区分大小写 关键字 关键字即保留字,定义标识符时不能使用关键字,python中的关键字如下图 注释 python中的单行注释用 # 多行注…

C++算法:柱状图中最大的矩形

##题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights [2,1,5,6,2,3] 输出:10 解释:最大的…

模拟器运行在AndroidStudio内部,设置其独立窗口显示

在窗口内部运行 设置成独立窗口 Android Studio->Settings或Preferences->Tools->Emulator->取消勾选Launch in the Running Devices tool window --->点击右下角的OK按钮 ---> 重启Android Studio 再次启动模拟器

背包问题学习笔记-混合背包问题

题意描述: 有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包); 第二类物品可以用无限次(完全背包); 第三类物品最多只能用 si 次(多重背包…

堆栈模拟队列

设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数: int IsFull(Stack S):判断堆栈S是否已满,返回1或0; int IsEmpty (Stack S ):判断堆…

闭包(C#)

通常来讲,大家一听到闭包,应该首先会想到JavaScript中的闭包,而不会想到C#中的闭包,但是C#中也是有闭包的,下面就让我来为大家仔细讲解讲解。 在C#中,我们通常知道变量作用域有三种:1、是属于类…

FaceFusion:探索无限创意,创造独一无二的面孔融合艺术!

FaceFusion:探索无限创意,创造独一无二的面孔融合艺术! 它使用先进的图像处理技术,允许用户将不同的面部特征融合在一起,创造有趣和令人印象深刻的效果。这个项目的潜在应用包括娱乐、虚拟化妆和艺术创作,…

力扣 -- 132. 分割回文串 II

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int minCut(string s) {int ns.size();//保存s的所有子串是否是回文串的信息的哈希表vector<vector<bool>> hash(n,vector<bool>(n));for(int in-1;i>0;i--){for(int ji;j<n;j){i…

Qt QGridLayout和QFormLayout案例分析

QGridLayout和QFormLayout是Qt中常用的布局管理器&#xff0c;可以用于在应用程序中设置控件的位置和大小。 QGridLayout网格布局(栅格布局) QGridLayout是一个网格布局管理器&#xff0c;可以将控件放置在一个二维网格中。在QGridLayout中&#xff0c;控件可以跨越多个行和列…