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

LeetCode.19.删除链表的倒数第n个节点

题目描述:
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点

输入输出实例:

思路:这道题目我们可以用双指针来做,让first和second指针之间的距离为n+1,然后我们first和second指针都往后移动,这样当first所指的为最后一个节点的后一个(即空节点)的时候,我们的second刚好在倒数第n个节点的前一个节点,然后我们second.next = second.next.next,这样达到去除第n个节点的目的。根据上述思路我们有以下代码:
 

# Definition for singly-linked list.
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = nextclass Solution:def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:#创建一个虚拟节点方便处理边界dummy = ListNode()dummy.next = headfirst = dummysecond = dummyfor _ in range(n+1):first = first.nextwhile first:first = first.nextsecond = second.nextsecond.next = second.next.nextreturn dummy.next

 

http://www.lryc.cn/news/417744.html

相关文章:

  • vue-cesium
  • 《npm 学习过程中遇到的诸多问题》
  • CentOS 介绍
  • 模拟面试题1
  • CTFHUB-web-RCE-综合过滤练习
  • Leetcode75-7 除自身以外数组的乘积
  • AI绘画工具介绍:以新奇角度分析与探索AI绘画艺术与技术的交汇点
  • 基于Springboot + Vue的宿舍管理系统
  • CTFHUB-web-RCE-eval执行
  • Oracle DBA常用 sql
  • MindSearch:AI 时代的“思考型”搜索引擎
  • 机器学习练手(四):基于SVM 的肥胖风险分类
  • AutoGPT项目实操总结
  • uniapp 荣耀手机 没有检测到设备 运行到Android手机 真机运行
  • 【EtherCAT】Windows+Visual Studio配置SOEM主站——静态库配置+部署
  • 【Python小游戏示例:猜拳游戏】
  • 多态实现的必要条件,实现多态的三个方法,输入一个URL的过程,死锁产生的原理和条件,进程和线程的定义及区别,进程通信的几种方式
  • Springboot+MybatisPlus项目中,数据库表中存放Date,查出后转为String
  • JavaDS —— AVL树
  • NSSCTF练习记录:[SWPUCTF 2021 新生赛]jicao
  • LabVIEW位移检测系统
  • 02、MySQL-DML(数据操作语言)
  • vue3 项目部署到线上环境,初始进入系统,页面卡顿大概一分钟左右,本地正常无卡顿。localStorage缓存1MB数据导致页面卡顿。
  • 软件更新中的风险识别与质量保证机制分析
  • QT下载与安装
  • Java 2.2 - Java 集合
  • Linux驱动.之I2C,iic驱动层(二)
  • 【STM32】USART串口和I2C通信
  • 【Material-UI】按钮组:垂直按钮组详解
  • DDR5 的优势与应用