当前位置: 首页 > news >正文

代码随想录算法训练营第四天 | leetcode 24

  • 两两交换链表中的节点
    注意:交换两个节点的步骤,采用虚拟节点会更加方便,每次交换的步骤是相同的所以可以使用递归做出来(二刷再做吧),然后就是注意指针是否为空,普通做法时可以将保存交换节点的下一个接地点,替换成前一个节点直接连到下一个节点的下一个节点,这在代码随想录里有(二刷)
    代码如下(感觉有点繁琐,二刷再优化吧):class Solution { public ListNode swapPairs(ListNode head) { if(head==null||head.next==null){ return head; } ListNode Vnode = new ListNode(-1);//虚拟头节点方便进行交换节点和返回交换后的头节点 Vnode.next = head; ListNode cur = Vnode;//用于交换节点的操作 ListNode p = head;//前一个节点 ListNode q = head.next;//相邻节点 while(p!=null&&q!=null){//要交换的两个节点不能有一方为空 ListNode temp = q.next;//保存要交换两个节点的下一个节点 cur.next = q; q.next = p; p.next = temp; cur = p;//移动指针 p = temp; if(temp==null){//判断要交换节点下一个节点是否为空 q=null; }else{//不为空就可以赋值 q=p.next; } } return Vnode.next;//返回交换节点后的头节点 } }
  • 19 删除列表倒数第n个节点
    解答:使用双指针两指针之间相距三个空也就是两个元素,这样当尾指针的下一个节点为null时,头指针的下一个位置就是要删除的元素
    代码如下:class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode Vnode = new ListNode(-1,head); ListNode cur = Vnode; ListNode p =Vnode; for(int i = 0;i<n;i++){ p = p.next; } while(p.next!=null){ cur = cur.next; p = p.next; } cur.next = cur.next.next; return Vnode.next; } }
  • 面试题 02.07. 链表相交
    做过,思路正确
    注意:提前考虑有一个链表为空链表的情况
  • 142寻找循环列表的相交点
    注意:这道题做过,采用快慢指针,遗忘的是判断出是循环列表后如何找相交点,建议二刷
http://www.rkmt.cn/news/8708.html

相关文章:

  • DP tricks
  • OpenCV的一些API的使用
  • 2971:抓住那头牛
  • MFC Button 控件完全指南:从基础到进阶 - 指南
  • vulnhub靶机:GoldenEye-v1
  • 深入解析:SpringMVC静态资源与Servlet容器指南
  • CCPC Online 2025 游寄
  • CentOS 7 容器时遇到了 yum update 报错
  • MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
  • 基于MATLAB的视频动态目标跟踪检测搭建方案
  • 第三篇:Windows10/11软件集成与系统优化 - 教程
  • Windows-Appx
  • 详细介绍:《Vuejs设计与实现》第 16 章(解析器) 中
  • 【解决】Matlab函数体突然不自动缩进了
  • React+antd搭建监听localStorage变化多页面更新+纯js单页面table模糊、精确查询、添加、展示功能
  • 详细介绍:jeecg-boot3.7.0对接钉钉登录(OAuth2.0)
  • 题解:P13969 [VKOSHP 2024] Exchange and Deletion
  • 基于MATLAB的车牌识别系统 - 实践
  • Linux服务器上安装配置GitLab的步骤
  • 在Linux中设定账户密码的安全性策略
  • MySQL 32 为什么还有kill不掉的语句?
  • Axure RP 9 Mac 交互原型设计 - 实践
  • Ceph IO流程分段上传(1)——InitMultipart - 指南
  • 第9章 Prompt提示词设计 - 指南
  • 详解Spring Boot DevTools - 指南
  • 1789:算24
  • 铁头山羊stm32-HAL库 - 实践
  • IDEA编译Maven任务后target目录没有class
  • 2025CSP-S初赛游记
  • 完整教程:AVL树(平衡二叉搜索树)