首页 > 其他分享 >交换量表节点(物理上,力扣24)

交换量表节点(物理上,力扣24)

时间:2024-04-09 15:59:37浏览次数:20  
标签:24 current head ListNode 交换量 virtualHead next 力扣 节点

题目如下:

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

示例 1:

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

示例 2:

输入:head = []
输出:[]

示例 3:

输入:head = [1]
输出:[1]

提示:

  • 链表中节点的数目在范围 [0, 100] 内
  • 0 <= Node.val <= 100

解题思路如下:

首先不能单纯的进行值的更改,所以是从链表的指针下手。第二明白循环条件,这里最好还是使用虚拟头结点以便来对头节点进行操作,其次就是循环的条件判断是相邻的两个节点是否存在,判断

代码如下:

class Solution {

public:

    ListNode* swapPairs(ListNode* head) {

    ListNode*virtualHead=new ListNode{0};

     virtualHead->next=head;

     ListNode*current=virtualHead;

     while(current->next!=NULL&&current->next->next!=NULL)

     {

      ListNode*temp1=current->next;

      ListNode*temp2=current->next->next->next;

      current->next=current->next->next;

      current->next->next=temp1;

      current->next->next->next=temp2;

      current=current->next->next;

     }

     return virtualHead->next;

     delete virtualHead;

    }

};

标签:24,current,head,ListNode,交换量,virtualHead,next,力扣,节点
From: https://blog.csdn.net/Moapsw033/article/details/137424606

相关文章

  • 两个链表的交集(力扣349)
    题目如下:给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[9,4]解释:[4......
  • 移除链表元素(虚拟节点法、力扣203)
    题目给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=......
  • 小红的小红树(小红书24秋招后端开发)
    题面核心思想首先我们任选一个节点为根节点两数和为质数只能染其中一个,那染父节点和儿子节点呢?当然是贪心的只染儿子节点,因为儿子节点只有一个父节点,染了儿子节点也不会和其他节点产生冲突。所以这样思考的话,我们自底向上的递归,只要相邻节点满足条件则答案+1题面import......
  • 2024年超声波清洗机品牌排行榜前十名、国内清洗机十大排行榜推荐
    急着洗眼镜的朋友先不要慌,虽然洗眼镜是日常生活中最常见的操作,但是在清洗眼镜方面也是有讲究的,不是随随便便把眼镜擦一下就算清洁干净了!因为我们拿眼镜布擦眼镜的时候,布料粗糙的微粒就会跟砂纸一样打磨着镜片,这也是为什么眼镜戴久之后都磨花刮花的原因!所以说超声波眼镜清洗机的......
  • 美国新冠疫情日数据正在更新中!可以下载「.xls」2020-2024年美国疫情大数据查询
    美国新冠疫情日数据,数据更新至2024/4/97:06:08美国新冠疫情昨日数据正在更新:新增是923例。再看一下各州吧:New-York新冠疫情昨日新增是:504发一个美国的新增总图:15个月的折线趋势图2020-2024年美国疫情大数据查询及下载EXCEL表:发一个20天的美国疫情数据表下......
  • 小红的分享日常(小红书24秋招后端开发)
    题面核心思想背包问题变种定义一个三维数组dp[i][t][h]表示前i个事件在时间剩余t精力剩余h的最大快乐值每个事件考虑分享or不分享,然后取最大值代码importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){finallongMOD=(l......
  • 外接存储设备数据丢失怎么办?(2024年恢复策略)
    在数字化时代,外接存储设备已经成为我们生活和工作中不可或缺的一部分。然而,无论是因为意外删除、格式化、病毒感染还是设备故障,数据丢失都可能是我们不得不面对的问题。当外接存储设备中的数据突然消失时,我们往往会感到焦虑和无助。本文旨在为大家提供关于外接存储设备数据丢失......
  • 2024.4.9 AVX加速卷积part2
    AVX加速卷积part2重新构筑下昨天的想法:问题:源程序在O2下的执行时间:经过AVX改进后的执行时间:下面尝试在AVX2基础上改进:AVX与AVX2的主要区别和改进:向量整数指令:AVX主要集中在浮点数运算上,提供了对256位宽SIMD(单指令多数据)向量的支持。AVX2引入了向量整数运算的支持。这......
  • 2024年第 6 期《Python 测试平台开发》进阶课程(4月23号开学)
    2024年第6期《Python测试平台开发》进阶课程主讲老师:上海-悠悠上课方式:微信群视频在线教学,方便交流本期上课时间:4月23号(周二、四晚上21:00-22:30)报名费:报名费3800一人(之前学过《python接口+测试开发》课程的同学可优惠!)联系微信/QQ:283340479课程环境:1.pycharm+python3.......
  • 20240409报错修改学习
    未配置SpringBoot配置注解处理器spring:datasource:druid:driver-class-name:com.mysql.jdbc.Driverurl:jdbc:mysql://localhost:3306/mini_springmvc?serverTimezone=UTCusername:rootpassword:1234mybatis-plus:global-config:......