c++如何删除倒数第k个节点
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文小编为大家详细介绍"c++如何删除倒数第k个节点",内容详细,步骤清晰,细节处理妥当,希望这篇"c++如何删除倒数第k个节点"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2026年11月01日c++如何删除倒数第k个节点
本文小编为大家详细介绍"c++如何删除倒数第k个节点",内容详细,步骤清晰,细节处理妥当,希望这篇"c++如何删除倒数第k个节点"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
算法:
该类型的题目,核心点在于如何找到倒数第k个节点的位置,典型的操作办法是,双指针的方法。
第一个指针先偏移k个位置,第二个指针才开始执行然后两个指针同时往后移动,第一个指针到链表尾部,第一个指针就是倒数第k个位置
题目 1 :链表中倒数第k个节点
代码实现:
// 算法:这是典型的双指针的做法,// 第一个指针先偏移k个位置,第二个指针才开始执行// 然后两个指针同时往后移动,第一个指针到链表尾部,第一个指针就是倒数第k个位置/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func getKthFromEnd(head *ListNode, k int) *ListNode { c := head for i:=0;i题目2: 删除倒数第k个节点
代码实现:
// 算法:该问题是题目1的变形题目,// 采用题目1的算法找到倒数第k个节点的前序节点,然后删除倒数第k个节点/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func removeNthFromEnd(head *ListNode, n int) *ListNode { head1 := head head2 := head for i:=n; i>0; i-- { head2 = head2.Next } if head2 == nil { head = head.Next return head } for { if head2.Next == nil { break } head2 = head2.Next head1 = head1.Next } // 获取到 倒数第n-1位置的节点 head1.Next = head1.Next.Next return head}读到这里,这篇"c++如何删除倒数第k个节点"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
指针
节点
题目
个位
算法
c++
文章
两个
代码
位置
典型
内容
同时
就是
偏移
移动
妥当
做法
办法
尾部
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中国互联网科技工作委员会毛军
互联网金融监管科技数据
中资互联网科技
高科技与互联网
互联网 卓越科技
互联网女皇 腾讯科技
兼蜜互联网科技
互联网科技公司名称
互联网金融监管科技
中正互联网科技招聘
互联网巨头投资的硬核科技
崇明区互联网教育科技售后服务
晋城互联网科技
万物互联网智能科技
科技互联网经济论坛
互联网科技对化妆品行业
平安好医生打造互联网科技医疗
网互联网络科技
互联网科技快速发展优美句子
株洲百竞科技的互联网营销顾问
互联网科技财经
平安科技 互联网
沃里互联网科技
新浪科技互联网
来此购互联网科技有限公司
新兴科技互联网创新大赛颁奖典礼
北京市互联网新科技
互联网时代高科技布局
科技和互联网行业的特点
杭州科技互联网公司有哪些