首页 > 其他分享 >力扣24 两两交换链表中的节点

力扣24 两两交换链表中的节点

时间:2022-11-14 18:12:44浏览次数:45  
标签:24 力扣 ListNode cur next 链表 null 节点

题目:

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

示例:

输入:head = [1,2,3,4]
输出:[2,1,4,3]

 

思路:

初始时,cur指向虚拟头结点,然后进行如下三步:

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

操作之后,链表如下:

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

class Solution {
    public ListNode swapPairs(ListNode head) {
        ListNode dummy=new ListNode(-1,head);//虚拟头结点
        ListNode cur=dummy;//让当前指针指向虚拟头结点
        ListNode temp=null;
        ListNode temp1=null;
        while(cur.next!=null&&cur.next.next!=null){
            //节点数为偶数终止条件cur.next!=null,节点数为奇数,最后一个节点不交换,终止条件cur.next.next!=null
            temp=cur.next;//临时节点存1
            temp1=cur.next.next.next;//临时节点存3
            cur.next=cur.next.next;//步骤一:dummy指向2
            cur.next.next=temp;//步骤二:2指向1
            cur.next.next.next=temp1;//步骤三:1指向3
            cur=cur.next.next;//cur移动至3
        }
        return dummy.next;//返回真实头结点
    }
}

 

标签:24,力扣,ListNode,cur,next,链表,null,节点
From: https://www.cnblogs.com/cjhtxdy/p/16889870.html

相关文章

  • 24 道必知必会的 Shell 脚本面试题
    虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到shell脚本的问题,它有助于你在工作环境中自动完成很多任务。如下是一些面试......
  • 无线灯控遥控CI2451CI2454无线2.4G收发芯片超低性价比国产方案
    CI2451跟CI2454是一款2.4G的SOC无线收发芯片/集成无线收发器和8位RISC(精简指令集)MCU,其中CI2451和ci2454在无线收发的特性是一样的,但是在MCU的资源上CI2454的资源会更加......
  • 题解:【ABC245F】Endless Walk
    题目链接本题解适合像我这样的不具备思维能力的选手。首先根据题意,一个点如果符合要求,那它必然在一个点数大于\(2\)的强联通分量里,因为如果只有一个点它就哪里都去不了......
  • Photoshop 2023 for mac(PS 2023)中文激活版v24.0.0mac/win
    ps2023中文版哪里可以下载?Photoshop2023是一款图像处理软件,让您一目了然。从Photoshop开始,惊艳随之而来,从社交媒体贴子到修饰相片,设计横幅到精美网站,日常影像编辑到重新......
  • 彻底搞懂React-hook链表构建原理
    写在前面的小结每一个hook函数都有对应的hook对象保存状态信息useContext是唯一一个不需要添加到hook链表的hook函数只有useEffect、useLayoutEffect以及us......
  • luogu P1224 [NOI2013] 向量内积
    题面传送门比较妙妙的题目。首先我们考虑\(k=2\),直接暴力没有优化方式,考虑随机化。我们随机一个向量的排列方式,将第\(i\)个向量和前面的向量求出内积之和\(\bmodk\)的......
  • 计算机等级考试二级C语言程序设计专项训练题——单链表
    一.程序填空题1.给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun的功能是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中......
  • 队列链表实现
    队列没有元素是FrontRear指向NULL 只有一个元素时都指向那一个元素因为既是第一个元素也是最后一个元素即队头队尾 Front指向第一个元素Rear指向最后一个元素#......
  • 2022-2023-1 20201324《信息安全系统设计与实现(上)》第13章
    1网络编程简介TCP/IP协议、UDP和TCP协议、服务器-客户机计算、HTTP和Web页面、动态Web页面的PHP和CGI编程2TCP/IP协议IPv432位地址IPv6128位地址TCP/IP协议顶层......
  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:相交链表
    题目:给你两个单链表的头节点 headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据......