首页 > 编程语言 >代码随想录算法训练营第四天|24. 两两交换链表中的节点 , 19.删除链表的倒数第N个节点 , 面试题 02.07. 链表相交 , 142.环形链表II

代码随想录算法训练营第四天|24. 两两交换链表中的节点 , 19.删除链表的倒数第N个节点 , 面试题 02.07. 链表相交 , 142.环形链表II

时间:2023-06-10 14:56:52浏览次数:39  
标签:24 dummyHead ListNode cur 随想录 next 链表 节点

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

个人感觉这个不太难,刚开始打算用步进值为2,来搞,但是没有想到链表应该是怎么样的,
原来可以直接用:

 1 cur = cur->next->next 

学到了,这是我自己写的代码:

 1 ListNode* MyLinkedList::swapPairs(ListNode* head)
 2 {
 3     ListNode* dummyHead = new ListNode();
 4     dummyHead->next = head;
 5     auto* cur = dummyHead;
 6     
 7     int idx = 0;
 8     while (cur->next != nullptr)
 9     {
10         if (idx % 2 == 0 && cur->next->next !=nullptr)
11         {
12             auto* first = cur->next;
13             auto* second = cur->next->next;
14 
15             first->next = second->next;
16             second->next = first;
17             cur->next = second;
18         }
19 
20         idx++;
21         cur = cur->next;
22     }
23 
24     return dummyHead->next;
25 }

 

标签:24,dummyHead,ListNode,cur,随想录,next,链表,节点
From: https://www.cnblogs.com/smartisn/p/17471275.html

相关文章

  • 代码随想录算法训练营第三天| 203.移除链表元素 、 707.设计链表 、206.反转链表
    链表的构造:link.h:1#ifndefLINK_H2#defineLINK_H3#include<vector>45structListNode{6intval;7ListNode*next;8ListNode():val(0),next(nullptr){}9ListNode(intx):val(x),next(nullptr){}10ListNode(in......
  • 代码随想录day03
     第二章 链表part01链表理论基础,203.移除链表元素,707.设计链表,206.反转链表 203.移除链表元素虚拟头结点/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(int......
  • Exadata存储节点image升级,patch_check_prereq阶段报错
    1、某客户有一台ExadataX4-2,当前的image版本为11.2.3.3.1,计划将image版本升级到18.1.34.0.0。当针对存储节点执行升级前的预升级检查工作时报错。具体如下所示:[root@dm01dbadm01patch_18.1.34.0.0.210717]#./patchmgr-cellscell_group-patch_check_prereq-rolling ......
  • 代码随想录算法训练营第十七天|● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404
    110.平衡二叉树力扣题目链接(opensnewwindow)给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:给定二叉树[3,9,20,null,null,15,7]返回true。示例2:给定二叉树[1,2,2,3,3,nu......
  • 帮您了解CDN节点如何做到访问加速与安全防护
    本文分享自天翼云开发者社区《帮您了解CDN节点如何做到访问加速与安全防护》,作者:尹****荷 网站业务痛点在当前网站快速发展的背景下,网站业务突增往往伴随着一系列网络安全隐患。主要会有以下痛点:1.高并发压力大:网站在业务突增中,会带来高并发的问题,可能会导致服务器资源耗尽......
  • document.evaluate的详细用法(Xpath获取节点)
    document.evaluate的详细用法2006-12-2818:03使用 Greasemonkey 时会遇到的功能最为强大的一个工具就是 evaluate 函数。通过使用XPath这种查询语言,它可以用来寻找页面中的元素,属性和文本。 举个例子来说,如果您想获得某个页面上的全部链接。您也许会想到使用document.getEle......
  • 代码随想录day02
    第一章 数组part02977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 977.有序数组的平方双指针法,平方数组为两边大中间小。 209.长度最小的子数组第一想法暴力两个for循环。学习双指针的滑动窗口法。 59.螺旋矩阵II坚持循环不变量原则,左闭右开。这道......
  • 链表-移除链表元素
    点击查看代码varremoveElements=function(head,val){vardummyNode=newListNode(-1);//设置一个虚拟头节点dummyNode.next=head;varprev=dummyNode;//prev记录当前节点的前一个节点while(prev.next){//从head开始遍历链表if(......
  • 关于Pod中进程在节点中的研究
    最近研究OpenShiftvirtulization,各种Pod对KVM进程的封装,引发了Pod中进程到底在Node中是什么表现形势的好奇,因为对基础知识的不扎实,还是希望找个环境能仔细看看,建立起openshift4.12的环境后,首先列出某个节点上的所有的Pod[lab-user@bastion~]$ocgetpods-A--field-selec......
  • 链表和双指针框架
    链表和双指针框架前后指针:方便链表删除快慢指针:获取链表倒数第N个元素快慢指针+前后指针:组合问题快慢指针:相交、判环、起点、长度双索引指针:合并/分割/拼接链表链表处理细节细节1:创建额外的哨兵节点的时机细节2:链表递归顺序细节3:虚拟节点细节4:递归实现双向遍历 前后指针:方便链......