LeetCode24:两两交换链表中的结点

保姆级避坑指南:用Docker在Ubuntu 22.04上部署Isaac Sim 5.1.0,搞定宇树G1仿真环境 本文提供了一份详细的保姆级避坑指南,帮助用户在Ubuntu 22.04上通过Docker部署Isaac Sim 5.1.0,并成功搭建宇树G1仿真环境。文章涵盖了环境准备、Docker与NVIDIA容器工具包的配置、Isaac Sim镜像的定制化拉取与配置,以及宇树G1仿真环境的实战调试,旨在帮助开发者高效解决部署过程中的常见问题。 阅读详情

要求:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
如:
1)输入:head = [1,2,3,4]
输出:[2,1,4,3]
2) 输入:head = []
输出:[]
3) 输入:head = [1]
输出:[1]

**思路:**因为是要相邻的两个结点进行交换,所以需要记录相邻的两个结点以及这两个结点前一个结点,这样进行指针的转换,注意各个指针的转换顺序。
代码如下:

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):
    def swapPairs(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        pre = self
        pre.next = head   # 这里pre是solution,next相当于他的一个属性
        while pre.next and pre.next.next:  # pre来回变化,从solution类型转换为ListNode类型
            a = pre.next
            b = pre.next.next
            pre.next = b
            a.next = b.next
            b.next = a
            pre = a
        return self.next
⑩电子产品拆解分析-家用无线遥控开关433Mhz ①免布线随意贴,装上就能使用解决单线开关烦恼;②遥控配对简单,无线通讯距离长,信号可穿墙; 阅读详情

相关推荐

deepin搭建samba服务器

一.为什么要用Samba? Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享。二.需要的软件? 我是在deepin上实现的,在终端中使用一下两句命令,就可以安装Samba的软件包 $sudo apt-get install samba //安装samba 三.Samba服务的组成 Samba的核心是两个守护进程smbd和nmbd。当然,它

xbrother123的博客 8598

【leetcode】链表-两两交换链表中的节点

题目: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3: 输入:head = [1] 输出:[1] 提示: 链表中节点的数目在范围 [0, 100] 内 0 <= Node.val <= 100 1.思路一: 使用递归的思想 最简化为第一步的操作,也就是head.next=

码农研究僧的博客 656

CANoe VLAN配置的艺术:如何通过脚本自动化实现高效车载网络测试

本文深入探讨了CANoe VLAN配置的自动化实现,通过CAPL脚本与Python工具链的结合,提升车载网络测试效率。重点解析了硬件侧VLAN配置与软件侧VLAN配置的交互机制,并提供了实用的脚本开发示例和调试技巧,帮助工程师快速构建高效的自动化测试方案。

qqq44的博客 617

leetcode 24. 两两交换链表中的节点

24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 第一种方法:使用递归的思想进行交换: 首先对递归终止条件进项判断:当本节点和下一个节点为空时,表示链表中只有一个或者没有元素,这个时候直接返回。这里的返回值是本次链表的头节点,即head。 然后取链表中的第一个节点为 fl,第二个节点为 sl,这样整个链表就分为了三块。first,second,res。 由于剩下的res还需要继续判断,交换,但是我们可

Qin_酱的博客 351

《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》论文阅读笔记

文章名:《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》 作者Jiyao Wei a,1, Jian Liaoa,1, Zhenfei Yanga, Suge Wanga,b,∗, Qiang Zhaoa 年份 2019 1 Introduction 目前文本情感分析多分析带...

weixin_39036944的博客 1630

IEC103协议实战指南:报文解析与传输优化策略

本文深入解析IEC103协议在电力自动化系统中的核心应用,重点拆解其固定帧与可变帧两种报文格式,并详细阐述了主从问答与非平衡传输机制。文章结合实战经验,针对报文解析中的常见问题(如字节序、超时重发)提供了解决方案,并探讨了传输层优化策略,旨在帮助工程师实现更可靠、高效的通信链路。

r2s3t4的博客 541

leetcode24. 两两交换链表中的节点

​递归法的简洁性:通过递归天然的回溯特性,逐对处理节点,代码简洁易懂。​关键操作新头节点指向原头节点的下一个节点。原头节点的next指向递归处理后的子链表。​边界处理空链表或单节点链表直接返回。正确处理奇数长度链表的末尾节点。​适用场景链表操作不频繁且无需极致空间优化的场景。​改进方向迭代法可优化空间复杂度至 ​O(1),适合超长链表。

m0_49844997的博客 1340

黑猫带你学eMMC协议第2篇:eMMC部分相关名词释义

1 前言 1.1 声明 本文依据eMMC JEDEC5.1、网络资料及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 本文背景 本文关键词不包括emmc jedec5.1协议第3章节:《Terms and definitions》内容。关于emmc协议层的关键词,直接查阅spec相关章节即可,清晰明了,此处没必要再列出。 本文为本人工作学习中常听到或常用到关乎于emmc/flash的一些关键词合集,没有固定分类,不需要强行记忆,供查询使用。 1.

黑猫奥利奥的博客 7434

【链表】【打卡第147道】: leetcode 24. 两两交换链表中的节点

1、题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 2、算法分析 如上图,创建一个虚拟结点dummyHead指向的是链表的head,dummyHead.next = head; 定义初始结点temp = dummyHead。也就是每次需要交换temp后面的两个结点。 如果 temp 的后面没有节点或者只有一个节点,则没有更多的节点需要交换,因此结束交换。否则,获得 temp 后面的两个节点 n

CodingLJ 536

YOLOv9 损失函数解析

YOLOv9作为YOLO系列的最新成员,在损失函数设计上进行了多项创新,重点优化了动态任务对齐机制、多模态定位损失融合以及跨层级梯度协同,进一步提升了检测精度与训练效率。

浩瀚之水的专栏 1293

芒果YOLOv5改进55:损失函数篇之KLD:即插即用 芒果首发原创新颖|全网唯一更新KLD改进博客,通过 Kullback-Leibler 散度学习用于目标检测的高精度边界框,提升YOLOv5小目标

YOLOv5改进KLD损失函数:即插即用 原创新颖|芒果专栏独家首发

包括YOLOv5、YOLOv7、YOLOv8等模型改进 664

每日一题(LeetCode)----链表--两两交换链表中的节点

如果链表中至少有两个节点,则在两两交换链表中的节点之后,原始链表的头节点变成新的链表的第二个节点,原始链表的第二个节点变成新的链表的头节点。(1)我们以通过下标为奇数得到的链表的表头作为新链表的表头,然后用两个指针变量交叉遍历两个链表(交叉遍历就是一个链表向后遍历了一个节点之后就换另一个链表向后遍历一个节点,这样循环,直到两个链表都遍历完成结束)给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。如果当前操作节点的下一个和当前操作节点的下一个的下一个的下一个同时不为空,进行下面操作。

m0_73483024的博客 321

RKNN 端侧部署必看:YOLOv11 Pose 姿态估计模型转换与性能优化实战

随着人工智能技术在边缘计算领域的快速发展,姿态估计作为计算机视觉的重要分支,在智能监控、人机交互、体感游戏等场景中展现出巨大的应用潜力。本文深入研究了YOLOv11 Pose模型在Rockchip RKNN平台上的部署方案,从理论基础、模型转换、平台优化到实际部署进行了全面阐述。通过详细的技术分析和实验验证,证明了RKNN平台能够有效提升YOLOv11 Pose的推理性能,在RK3588硬件平台上实现了高达100 FPS的实时姿态检测,为边缘计算场景下的姿态估计应用提供了高效的解决方案。

m0_71589036的博客 183

LeetCode - 24 - 两两交换链表中的结点

好久不见!刚放假 + 电脑故障太多卡顿问题很严重,半个多月没更新博客。(其实就是惰性 + 贪玩,但我这个人不找借口好像浑身难受)今天半夜精神亢奋,于是来更新一篇LeetCode刷题。 24.两两交换链表中的结点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该...

CodeChicken的博客 2370

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

LeetCode--24.两两交换链表中的结点

例如,第一次交换组合的时候,你交换了第一个结点(M结点)和第二个结点(N结点),那我们把它们看作是一个整体,从链表中取出来,此时M结点指向的下一结点就是,后续经过两两交换的(已经取出来M结点和N结点)链表的头结点对不对。示例1:(有时候你要借助题目和示例才能更好地理解题目要求,以免出现歧义)验证了我分析题目环节中的想法,其实我一开始想的是我说的那个错误的想法的,看见这个示例才改正了思路。思路:将链表中的每个结点内部的值都储存在一个vector中,在遍历结点的时候,再进行两两赋值即可,以下是完整代码。

dying_man的博客 1688

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

leetcode 24.两两交换链表的结点

leetcode 24.两两交换链表的结点 题目描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 解题思路 在反转链表的基础上,对节点进行计数,每两个节点记性一次反转,需要考虑的边界情况包括:链表是否为空,链...

EngineerHe的博客 1322

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

leetcode-24.两两交换链表中的结点

24. 两两交换链表中的节点 - 力扣(LeetCode)解题:思路:三个指针将链表中的结点两两交换,我们需要用三个指针和头结点。改变指针之间的指向,便能让链表的位置发生改变。另外,改变指针的指向后,三个指针需要向后迭代两个位置(注意交换后结点的位置,在上述代码中虽然看似只往后迭代了一个位置,实际上为两次。因为交换结点后,结点的位置已经发生了改变,我将在后续的注意事项中详细解释)图中红色部分表示链表第一次进行交换时,指针指向的改变。灰色部分表示在指针迭代后,指针指向的改变(但图中有一点却是错误的:在第二次p

Zhuchaoyun_的博客 398

链表-24.两两交换链表中的结点-力扣(LeetCode)

black_bear_white的博客 454

LeetCode——24 两两交换链表中的结点

题目描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs ...

优快云的博客 190

Day04 链表 leetcode力扣24.两两交换链表中的节点(利用虚拟头结点)19.删除链表的倒数第 N 个结点(灵活使用快慢指针)

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。先看清题目,是两两交换链表中的节点,不是交换节点的值,并且是原地交换理解完题目的意思,可以看出这是两两分组进行交换,那么只需要找出每次交换的规律即可与反转链表相似,这里可以利用虚拟头节点来便于操作我们知道交换两个节点的步骤,假设虚拟头结点为dummy,交换node1和node2节点(节点位置如下:虚拟头结点=》node1=》node2)

weixin_45363293的博客 1056

【Leetcode hot 100】24.两两交换链表中的结点

本文介绍了两种方法解决「两两交换链表中的节点」问题。迭代法通过虚拟头节点和指针调整实现交换,时间复杂度O(n),空间复杂度O(1)。递归法将问题分解为交换前两个节点和处理剩余链表,时间复杂度O(n),空间复杂度O(n)。推荐使用迭代法,因其空间效率更优。两种方法都避免了修改节点值,仅通过调整指针完成交换。

专注Java和MySQL领域知识分享 4361

力扣第24题两两交换链表中的结点

24.两两交换链表中的结点 难度:中等 标签:链表 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 思路:头插,弄个头结点,然后插完一次,头结点后移 public ListNode swapPairs(ListNode head){ if(head==null||head.next==null) return hea

zzxdddd的博客 278

力扣24 俩俩交换链表中的结点

24. 两两交换链表中的节点 - 力扣(LeetCode) (leetcode-cn.com) /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* swapPairs(struct ListNode* head){ // 创建虚拟头结点 // 想要俩俩交换元素需要另一

Allurewuhui的博客 1316

LeetCode 24:两两交换链表中的结点

题目描述:两两交换链表中的结点 说明: 关于链表的元素到底叫结点还是节点,请参考: 解题思路: 该题的关键是需要记录好交换前结点的头指针(即完成交换后的尾结点),可以引入一个填充结点prev,其next指针初始指向head结点,为方便迭代,声明一个临时指针tmp=prev,当tmp.next和tmp.next.next不为空,一直迭代,整个交换过程可以抽象为: 初始链表: (1)、声明指向前一个...

昨天今天和明天 308

代码随想录算法训练营第四天|LeetCode24. 两两交换链表中的节点,LeetCode19. 删除链表的倒数第N个结点,LeetCode160. 相交链表,LeetCode142. 环形链表 II

思路:依旧创建一个虚拟头结点,方便之后进行操作,然后让cur指向当前的虚拟头结点,然后想明白循环的终止条件是cur->next=NULL(总节点数为偶数的情况)或者cur->next->next=NULL (总节点数为奇数的情况,最后剩一个节点不用交换),在循环内需要将cur->next和cur->next->next->next保存为临时变量,剩余操作就是交换了,以及在交换结束后cur需要向后移动两个位置。

Liverpool0519的博客 3127

leetcode【24】两两交换链表中的结点

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3如果只是值的交换,那就是一种潜拷贝,这道题需要结点进行操作,先让1结点连接3结点,然后2结点连接1结点,最后让头节点连接2结点就完成了交换。 /** ...

爱科比的博客 171
上一篇: NC88 寻找第K大
下一篇: LeetCode141:判断链表是否有环
coding_diamond
博客等级 码龄8年 8粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值