链表问题2——在双链表中删除倒数第K个节点
题目
实现一个函数,可以删除双链表中倒数第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个节点相关推荐
- 《程序员代码面试指南》第二章 链表问题 在单链表和双链表中删除倒数第K个节点...
题目 在单链表和双链表中删除倒数第K个节点 java代码 /*** @Description:在单链表和双链表中删除倒数第K个节点* @Author: lizhouwei* @CreateDate: ...
- python链表中删除一个节点数据_python实现单链表中删除倒数第K个节点的方法
本文实例为大家分享了python实现单链表中删除倒数第K个节点的具体代码,供大家参考,具体内容如下 题目: 给定一个链表,删除其中倒数第k个节点. 代码: class LinkedListAlgori ...
- 链表问题2——在单链表中删除倒数第K个节点
题目 实现一个函数,可以删除单链表中倒数第K个节点. 要求 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1). 思路 如果链表为空或者K值小于1,直接返回head即可,除此之外,从 ...
- c语言单链表删除倒数第k个数,在单链表中删除倒数第k个节点
实现方式很多,在这里只说两种实现方式.看不懂时候,大家可以画画图,对理解为什么很有帮助. 第一种方式: 1.首先判断K值和链表是否为空,如果k<=0,或链表为空,直接返回head: 2.满足上面 ...
- 在单链表和双链表中删除倒数第K个节点
题目:分别实现两个函数,一个可以删除单链表中倒数第k个节点,另一个可以删除双链表中倒数第k个节点 要求:如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1) ""& ...
- python删除链表的倒数第k个节点,剑指offer 链表中的倒数第K个节点 Python and C++
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路 假设链表中的节点数大于等于k个,那么一定会存在倒数第k个节点,首先使用一个快指针先往前走k步,然后两个指针每次走一步,两个指针之间始终有k的 ...
- python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点
题目 实现一个函数,一个可以删除单链表中倒数第k个节点 难度 简单 分析 本题比较简单,实现方法多种多样,这里提供一种方法 首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个 ...
- Java数据结构与算法———(10)单链表应用实例,找到单链表中倒数第K个节点
找到单链表中的倒数第K个节点,并打印输出节点.两段代码,思路都是相似的. 一.代码1 public class SingleLinkedListDemo {public static void mai ...
- 链表中倒数第 k 个节点
链表中倒数第 k 个节点 1.参考资料 https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 2 ...
最新文章
- 机器学习02-分类、逻辑回归
- 可以打开md_热议MD有病!旭旭宝宝怒斥CG偷开“录像轮播”:人家不开还不行?...
- E431 笔记本电池问题 0190 Critical low-battery error 解决办法
- iOS 版 Skype支持群组语音聊天
- python快速检测视频跳过帧_使用Python实现跳帧截取视频帧
- android xml黑体字_为 Android 换上任意喜欢的字体,你可以试试这个 Magisk 模块
- C程序设计语言现代方法01:C语言概述
- [导入]8.3赛车频道活动
- C#反射取得方法、属性、变量
- 智能称重系统,车牌识别的优势
- 台式计算机开机风扇不转,台式机开机风扇转一下停一下
- swing hacks_这些firefox hacks和扩展程序增强了您的隐私
- SQL查询语句逻辑执行顺序
- vue启动时报错——did you register the component correctly? For recursive components
- Transition Docbook
- 为什么说朋友不多的人才是真正厉害的人呢?
- 夺宝网站服务器配置,【合区公告】“夺宝奇兵”“决战昆仑”服务器数据互通操作...
- 结合微软开放api,使用MSN,Hotmail等登陆Sharepoint网站
- python之文件与文件系统
- Windows Store / Onenote 联网错误 无法打开 账号无法登录 Clash解决方案 错误代码0x80131500
热门文章
- Siri不行了?微软小冰或许是未来的方向
- 一分钟AI | Numpy将放弃Python2.7全面支持Python3,柯洁苦战终结AI41连胜深夜失眠发文感慨
- 跨界 | 土木工程也开始AI化了:用卷积神经网络实现结构损伤视觉识别
- 妈呀!GitChat 发布 1.9 版本更新公告,这个红色简直亮瞎了我的眼...
- 妙用Java 8中的 Function接口 消灭if...else(非常新颖的写法)
- 推荐一款基于 SpringBoot 的接口快速开发框架
- Alibaba Sentinel限流功能
- 老司机给我们解读 Spring Boot 最流行的 16 条实践忠告
- 在 Spring Boot 中,如何干掉 if else!
- 天池大赛 + CV语义分割 + 78万奖金:全国数字生态创新大赛来了!