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

小程序简单还是做网站简单西安官网设计公司

小程序简单还是做网站简单,西安官网设计公司,无锡网站建设策划方案,玄武模板网站制作报价删除链表的倒数第N个结点 题目要求题目示例解题思路从题目中的已知出发思考寻找目标结点条件转换核心思路 需要注意的点改进建议 完整代码提交结果 题目要求 给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。 题目示例 示例 1&#xff1…

删除链表的倒数第N个结点

  • 题目要求
  • 题目示例
  • 解题思路
    • 从题目中的已知出发思考
      • 寻找目标结点
      • 条件转换
      • 核心思路
    • 需要注意的点
      • 改进建议
    • 完整代码
    • 提交结果


题目要求

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

题目示例

示例 1:
在这里插入图片描述
输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]

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

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

解题思路

  • 如果我们需要用一次扫描就完成这个操作,那么我们首先想到的一定是需要多个指针(结点)互相配合,才有可能一次扫描删除指定结点的操作。
  • 那么继续思考,倒数第n个结点,输入会给出n的值,那么我们需要考虑的是怎么根据给出的这个n值来定位到我们的目标结点

从题目中的已知出发思考

寻找目标结点

  • 我们可以设想用两个指针来寻找目标结点,假设链表长度一共为lenth,倒数第n个就是正数第lenth-n+1个,那么也就是说需要一个指向头结点的指针从头结点开始走lenth-n步就走到了需要删除的那个结点。

条件转换

  • 上述的寻找思路我们发现需要遍历两次链表才能实现,但是在要求遍历一次时,我们就可以想到“快慢指针”(双指针)

核心思路

  • 定义一个快指针和一个慢指针都先指向头结点,然后快指针先走n步,然后快、慢指针同时走,发现当快指针走到链表结尾的时候,慢指针就刚好走到了要删除结点的前一个结点,那么此时只需要将慢指针的next指向慢指针next的next即可完成删除操作(就本题来说可以忽略释放删除结点这个操作,当然释放一下也可以)

需要注意的点

  • 如果采用上面的思路操作的话,那么就会发现示例二是不能通过的,因为会出现野指针的问题。

改进建议

  • 创建一个前驱结点,快、慢指针都从前驱结点开始遍历,这样就可以成功的删除头结点并返回NULL了。

完整代码

class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* prehead = new ListNode(0);prehead->next = head;ListNode* slow = prehead;ListNode* fast = prehead;while(n--){fast = fast->next;}while(fast->next!=nullptr){fast = fast->next;slow = slow->next;}slow->next = slow->next->next;return prehead->next;}
};

提交结果

在这里插入图片描述

http://www.yayakq.cn/news/229388/

相关文章:

  • 摄影网站建设文案关键词优化公司电话
  • 为什么大家用wordpress建网站百度只更新快照不收录网站
  • 古色古香网站模板申请公司需要什么费用
  • 如何制作一个属于自己的网站桂林微信网站开发
  • 做平面设计哪个网站下载素材好做网站需要掌握
  • 天津大型网站设计公司互联云主机
  • p2p借贷网站开发网站建设推广最简单的话术
  • 毕业设计指导网站建设怎样建一个好的网站
  • 建设网站企业银行文化建设的现状及思考
  • ps和dw怎么做网站开发区网站建设
  • 设计单位在厦门什么网站响应式网站建设服务提供商
  • 如何建立虚拟架构网站wordpress会员登录界面美化
  • 建设一个网站需要提供什么手续做统计的网站吗
  • 祥云网站优化平面设计类网站什么颜色好
  • 长宁区网站设计建设搭建好ftp服务器 如何通过网站访问
  • 找公司的网站Wordpress5主题破解版
  • 导游网站后台北京注册公司要多少钱才能注册
  • 深圳网站建设团队响应式网站跟自适应网站的区别
  • 前端学校网站开发视频教程企业网站营销如何建设
  • 一个人可以建设几个网站那些免费网站做推广比较好
  • 个人网站页面设计素材.net 网站制作
  • 山东省住房建设厅网站深圳创业补贴2023
  • 做网站常用的套件网站前端切页面时间
  • wordpress付费插件网站软文营销的案例
  • 电子商务网站建设中刚做网站和搜出来的不一样
  • 本机网站建设昆山城乡建设局网站
  • 手机网站自助建设提高网站规范化建设
  • 免费建站推广网站开发老是弹广告
  • 网站显示速度的代码是什么情况淘宝联盟交钱建设网站
  • 找单位做网站需要注意什么深圳市网站建设公司设计