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

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

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

力扣题目链接(opens new window)

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

进阶:你能尝试使用一趟扫描实现吗?

示例 1:

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

输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2:

输入:head = [1], n = 1 输出:[] 示例 3:

输入:head = [1,2], n = 1 输出:[1]

 //双指针

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*///双指针
class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode*dummyNode = new ListNode(0);dummyNode->next = head;//设置虚拟头节点ListNode * p=dummyNode;ListNode * q = p;//q,p均指向虚拟头节点while(n--){//p先走n步p=p->next;}while(p->next!=NULL){//p,q一起走p = p->next;q = q->next;}//跳出循环后,q->next指的就是要删除的结点q->next = q->next->next;//删除指定节点return dummyNode->next;}
};

 

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

相关文章:

  • 【Linux C | 网络编程】广播概念、UDP实现广播的C语言例子
  • java 面向对象 day3
  • Flink 大数据 学习详情
  • [项目设计] 从零实现的高并发内存池(四)
  • 02.URL的基本知识和使用
  • 人工智能指数报告2023
  • Android如何对应用进行系统签名
  • 【系统安全加固】Centos 设置禁用密码并打开密钥登录
  • 关于我在项目中封装的一些自定义指令
  • react经验11:访问循环渲染的子组件内容
  • Java开发工程师面试题(业务功能)
  • BUUCTF-Misc-百里挑一
  • 【力扣刷题练习】42. 接雨水
  • 鸿蒙实战开发:数据交互【RPC连接】
  • QLC SSD:LDPC纠错算法的优化方案
  • 【Flutter 面试题】main()和runApp()函数在Flutter的作用分别是什么?有什么关系吗?
  • ChatGPT高效提问——说明提示技巧
  • 从零学算法41
  • FPGA高端项目:FPGA基于GS2971的SDI视频接收+OSD动态字符叠加,提供1套工程源码和技术支持
  • UML-类图详解
  • Python 快速获取PDF文件的页数
  • uniapp开发小程序使用x-www-form-urlencoded; charset=UTF-8 编码格式请求案例
  • 酷开科技服务升级,酷开系统给消费者更好的使用体验!
  • 【leetcode热题】单词拆分
  • 【论文阅读】MC:用于语义图像分割的深度卷积网络弱监督和半监督学习
  • 读书·基于RISC-V和FPGA的嵌入式系统设计·第3章
  • 本地项目推送到腾讯云轻量应用服务器教程(并实现本地推送远程自动更新)
  • MacOS安装反编译工具JD-GUI 版本需要1.8+
  • 计算机大数据毕业设计-基于Flask的旅游推荐可视化系统的设计与实现
  • java实现pdf转word