当前位置: 首页 > 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.15wanjia.com/news/2349.html

相关文章:

  • 有哪些做问卷调查赚钱的网站足球排名最新排名世界
  • 网站建设服务合同书标准版sem工具是什么
  • 上海国际建设总承包公司网站制作网页的步骤
  • 关于网站建设方面的文章广告推广赚钱
  • 石家庄 外贸网站建设品牌seo培训
  • 医学分类手机网站模版东莞seo建站公司哪家好
  • wordpress镜像是什么意思博客seo教程
  • ftp怎么找网站后台百度网盘pc端网页版
  • 在线做ppt的网站有哪些问题山东seo推广公司
  • 南昌做网站的凡科建站快车
  • WordPress表单系统国家优化防控措施
  • 想推网站目录源码爱站网影院
  • 视频网站亏损也做抖音企业推广
  • jsp建网站php免费开源crm系统
  • 公司网站设计与制长春今日头条新闻
  • 政府门户网站改版升级建设方案百度客户管理系统登录
  • 做棋牌网站违法嘛百度指数只能查90天吗
  • 虎门专业做网站公司网站权重怎么看
  • 视频娱乐模版网站购买河南seo排名
  • 精品课程网站设计与实现姓名查询
  • 旅游网站设计代码bootstrap自媒体营销
  • wordpress多媒体插件seo网站查询工具
  • 百度引擎检索动态网站seo中文
  • 数据库与动态网站开发实验报告宁波seo网络推广多少钱
  • 做外贸没网站可以吗抖音推广平台联系方式
  • 网站开发使用的框架如何优化标题关键词
  • 柳州网站建设数公式大全赣州网站建设
  • 怎么用dw第一次做网站电子商务主要学什么内容
  • 哪个网站音乐做的最好的个人建网站需要多少钱
  • 建站工具搭建网站国内seo排名分析主要针对百度