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

在线做数据图的网站有哪些问题河南航天建设工程有限公司网站

在线做数据图的网站有哪些问题,河南航天建设工程有限公司网站,无锡高端网站设计建设,打开浏览器的网站19.删除链表的倒数第N个节点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 示例 2:输入:head [1], n 1 输出&…

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

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
示例 1:
image.png
输入: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个,从前到后就是需要有个索引,但现在问题在于链表总的长度并不知道,所以需要第一步先去找到链表的长度:通过定义一个size,然后对链表进行遍历,逐渐加1,获取链表长度。然后定义索引为index=size-n。再遍历到索引处,执行删除。

class ListNode(object):def __init__(self, val=0, next=None):self.val = valself.next = nextclass Solution(object):def removeNthFromEnd(self, head, n):""":type head: ListNode:type n: int:rtype: ListNode"""dummy_node = ListNode(next=head)cur = dummy_nodesize = 0 # 链表长度while cur.next:cur = cur.nextsize += 1temp = dummy_nodeindex = size - nfor i in range(index):temp = temp.nexttemp.next = temp.next.nextreturn dummy_node.next

进阶:你能尝试使用一趟扫描实现吗?
可以用快慢指针法。
双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。(比较巧妙)
思路是这样的,但要注意一些细节。
分为以下几步:

  1. 定义虚拟节点
  2. 定义fast指针和slow指针,初始值为虚拟头结点,如图:

image.png

  1. fast首先走n + 1步 ,为什么是n+1呢,因为只有这样同时移动的时候slow才能指向删除节点的上一个节点(方便做删除操作),如图:

image.png

  1. fast和slow同时移动,直到fast指向末尾,如图:

注意是 fast为None 而不是 fast.next 为None
image.png

  1. 删除slow指向的下一个节点,如图:

image.png

class Solution(object):def removeNthFromEnd(self, head, n):""":type head: ListNode:type n: int:rtype: ListNode"""dummy_node = ListNode(next=head) # 定义一个虚拟节点fast = dummy_nodeslow = dummy_nodefor i in range(n+1): # fast先走n+1步fast = fast.nextwhile fast != None: # fast和slow同时走fast = fast.nextslow = slow.nextslow.next = slow.next.nextreturn dummy_node.next

本文文字及图片参考:https://programmercarl.com/

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

相关文章:

  • 拿了网赌代理后怎样做自己的网站阿里云wordpress建站教程
  • 网站上的格式用html怎么做网站一年的费用
  • 青岛海西建设集团官方网站公众号如何推广引流
  • 网站开发的工作职责陕西网站建设推广
  • 企业网站搭建方案wordpress购物网站手机
  • 网站建设销售提成多少徐州建设工程招标信息网官网
  • iis 提示网站到期怎么做商业网站模板
  • 南充移动网站建设wordpress声明
  • 怎样做自己网站手机端网站开发素材
  • 上海网站建设知识 博客手机软件开发公司
  • 威海哪里做网站做优惠券网站赚钱吗
  • 网站建设如果没有源代码泉州网站建设方案开发
  • 北京营销型网站建设方案wordpress百度主动不推送了
  • php手机网站建设百度上做网站需要钱吗
  • 灵犀科技网站建设wordpress 拉取点击数
  • 做二手网站老闵行租房
  • 桂林网站制作2345网址大全下载到桌面
  • 建立网站用什么软件施工企业会计课后答案
  • 昌网站建设在西安建设工程交易中心网站
  • 一个ip做几个网站新媒体营销实训报告总结
  • 网站平台建设项目书成都成达设计院
  • 射阳做企业网站多少钱app网站制作下载
  • 舟山普陀区建设信息网站类似设计师联盟的网站
  • 栖霞建设采购网站引流推广平台违法吗
  • 接工程网站男人是用什么做的视频网站
  • 平度市建设局网站新昌县建设局网站
  • 湘潭网站建设 诚信磐石网络百度网盟 网站定向投放
  • 网站建设 中企动力板材生态板如果建立网站
  • 满山红网站建设公司wordpress字体编辑插件下载
  • 深圳优秀网站建设公司商城类型的网站怎么做