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

Leetcode19删除链表的倒数第K个节点(java实现)

今天分享的题目如下:
在这里插入图片描述
说一下我们的解题思路:我们要想删除第k个节点,那么指针必须落在k-1节点上,比如我们想要操作题目中的节点4,那么指针必须落在节点3,然后让节点3.next= 3.next.next即可。
所以明白了这个,那么我们传入的是倒数第k个节点,我们如何让他落在他的前一个节点呢?我们只需两个指针
首先让快慢指针都指向头结点,先让快指针移动k+1次,然后这个时候再将快慢指针同时移动,到最后,慢指针所指向的地方就是我们的目标地址。然后进行删除即可。
具体的代码实现如下:

class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode cur  =new ListNode(0,head);//快指针ListNode index1 = cur ;//慢指针ListNode index2 =cur ;n+=1;while(n>0&&index1!=null){//先让快指针移动n+1次index1=index1.next;n--;}while(index1!=null){//快慢指针同时移动index1=index1.next;index2=index2.next;}//找到目标节点,进行删除操作index2.next = index2.next.next;//返回虚拟节点nextreturn cur.next;}
}

那么今天的分享就到此结束了,如果有疑问欢迎在文章下方留言。


http://www.mrgr.cn/news/13436.html

相关文章:

  • 论文翻译:Multi-step Jailbreaking Privacy Attacks on ChatGPT
  • kafka ---- producer与broker配置详解以及ack机制详解
  • Qt笔记-setRowCount(int rows)方法
  • 使用 Pandas 进行数据可视化:全面指南(六)
  • 【ShuQiHere】《机器学习的进化史『上』:从数学模型到智能算法的百年征程》
  • 较难!第15届蓝桥杯青少组省赛Scratch中级组编程真题
  • OpenCV绘图函数(6)绘制椭圆函数ellipse()的使用
  • 计算机网络 - 应用层
  • C++ STL 关联容器
  • 代码随想录算法训练营第五十二天 | 图论part03
  • 企业级NoSql数据库 --- Redis集群
  • AI的未来已来:GPT-4商业应用带来的无限可能
  • 【python报错已解决】AttributeError: module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘
  • 医疗数字化转型数据中台架构方案(四)
  • Mybatis】Mybatis-Plus 高级
  • Android12 Toast连续多次点击后不显示
  • 使用kafka完成数据的实时同步,同步到es中。(使用kafka实现自动上下架 upper、lower)
  • 大白话【8】WindowsServer2016搭建DNS服务
  • python基础(11文件读取)
  • 【mybatis系列】spring是如何整合mybatis将Mapper接口注册为Bean的