题目

实现一个函数,可以删除双链表中倒数第K个节点。


要求

如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1)。


思路

双链表的思路与前一篇文章单链表的思路基本一致,注意last指针的重连即可


源码

public class Node{public int value;public Node next;public Node last;public Node(int data){this.value=data;}
}public Node removeLastKthNode(Node head,int lastKth){if(head==null||lastKth<1){return head;}Node cur=head;while(cur!=null){lastKth--;cur=cur.next;}if(lastKth==0){head=head.next;head.last=null;}if(lastKth<0){cur=head;while(++lastKth!=0){cur=cur.next;}Node newNext=cur.next.next;cur.next=newNext;if(newNext!=null){newNext.last=cur;}}return head;
}

链表问题2——在双链表中删除倒数第K个节点相关推荐

  1. 《程序员代码面试指南》第二章 链表问题 在单链表和双链表中删除倒数第K个节点...

    题目 在单链表和双链表中删除倒数第K个节点 java代码 /*** @Description:在单链表和双链表中删除倒数第K个节点* @Author: lizhouwei* @CreateDate: ...

  2. python链表中删除一个节点数据_python实现单链表中删除倒数第K个节点的方法

    本文实例为大家分享了python实现单链表中删除倒数第K个节点的具体代码,供大家参考,具体内容如下 题目: 给定一个链表,删除其中倒数第k个节点. 代码: class LinkedListAlgori ...

  3. 链表问题2——在单链表中删除倒数第K个节点

    题目 实现一个函数,可以删除单链表中倒数第K个节点. 要求 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1). 思路 如果链表为空或者K值小于1,直接返回head即可,除此之外,从 ...

  4. c语言单链表删除倒数第k个数,在单链表中删除倒数第k个节点

    实现方式很多,在这里只说两种实现方式.看不懂时候,大家可以画画图,对理解为什么很有帮助. 第一种方式: 1.首先判断K值和链表是否为空,如果k<=0,或链表为空,直接返回head: 2.满足上面 ...

  5. 在单链表和双链表中删除倒数第K个节点

    题目:分别实现两个函数,一个可以删除单链表中倒数第k个节点,另一个可以删除双链表中倒数第k个节点 要求:如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1) ""& ...

  6. python删除链表的倒数第k个节点,剑指offer 链表中的倒数第K个节点 Python and C++

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路 假设链表中的节点数大于等于k个,那么一定会存在倒数第k个节点,首先使用一个快指针先往前走k步,然后两个指针每次走一步,两个指针之间始终有k的 ...

  7. python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点

    题目 实现一个函数,一个可以删除单链表中倒数第k个节点 难度 简单 分析 本题比较简单,实现方法多种多样,这里提供一种方法 首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个 ...

  8. Java数据结构与算法———(10)单链表应用实例,找到单链表中倒数第K个节点

    找到单链表中的倒数第K个节点,并打印输出节点.两段代码,思路都是相似的. 一.代码1 public class SingleLinkedListDemo {public static void mai ...

  9. 链表中倒数第 k 个节点

    链表中倒数第 k 个节点 1.参考资料 https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 2 ...

最新文章

  1. 机器学习02-分类、逻辑回归
  2. 可以打开md_热议MD有病!旭旭宝宝怒斥CG偷开“录像轮播”:人家不开还不行?...
  3. E431 笔记本电池问题 0190 Critical low-battery error 解决办法
  4. iOS 版 Skype支持群组语音聊天
  5. python快速检测视频跳过帧_使用Python实现跳帧截取视频帧
  6. android xml黑体字_为 Android 换上任意喜欢的字体,你可以试试这个 Magisk 模块
  7. C程序设计语言现代方法01:C语言概述
  8. [导入]8.3赛车频道活动
  9. C#反射取得方法、属性、变量
  10. 智能称重系统,车牌识别的优势
  11. 台式计算机开机风扇不转,台式机开机风扇转一下停一下
  12. swing hacks_这些firefox hacks和扩展程序增强了您的隐私
  13. SQL查询语句逻辑执行顺序
  14. vue启动时报错——did you register the component correctly? For recursive components
  15. Transition Docbook
  16. 为什么说朋友不多的人才是真正厉害的人呢?
  17. 夺宝网站服务器配置,【合区公告】“夺宝奇兵”“决战昆仑”服务器数据互通操作...
  18. 结合微软开放api,使用MSN,Hotmail等登陆Sharepoint网站
  19. python之文件与文件系统
  20. Windows Store / Onenote 联网错误 无法打开 账号无法登录 Clash解决方案 错误代码0x80131500

热门文章

  1. Siri不行了?微软小冰或许是未来的方向
  2. 一分钟AI | Numpy将放弃Python2.7全面支持Python3,柯洁苦战终结AI41连胜深夜失眠发文感慨
  3. 跨界 | 土木工程也开始AI化了:用卷积神经网络实现结构损伤视觉识别
  4. 妈呀!GitChat 发布 1.9 版本更新公告,这个红色简直亮瞎了我的眼...
  5. 妙用Java 8中的 Function接口 消灭if...else(非常新颖的写法)
  6. 推荐一款基于 SpringBoot 的接口快速开发框架
  7. Alibaba Sentinel限流功能
  8. 老司机给我们解读 Spring Boot 最流行的 16 条实践忠告
  9. 在 Spring Boot 中,如何干掉 if else!
  10. 天池大赛 + CV语义分割 + 78万奖金:全国数字生态创新大赛来了!