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

常德企业网站建设广州站在哪里

常德企业网站建设,广州站在哪里,国内代理,国外家居创意空间设计文章目录 1. 题目2. 思路及代码实现#xff08;Python#xff09;2.1 计算链表长度2.2 栈 1. 题目 给你一个链表#xff0c;删除链表的倒数第 n n n 个结点#xff0c;并且返回链表的头结点。 示例 1#xff1a; 输入#xff1a; h e a d [ 1 , 2 , 3 , 4 , 5 ] , n… 文章目录 1. 题目2. 思路及代码实现Python2.1 计算链表长度2.2 栈 1. 题目 给你一个链表删除链表的倒数第 n n n 个结点并且返回链表的头结点。 示例 1 输入 h e a d [ 1 , 2 , 3 , 4 , 5 ] , n 2 head [1,2,3,4,5], n 2 head[1,2,3,4,5],n2 输出 [ 1 , 2 , 3 , 5 ] [1,2,3,5] [1,2,3,5] 示例 2 输入 h e a d [ 1 ] , n 1 head [1], n 1 head[1],n1 输出 [ ] [ ] [] 示例 3 输入 h e a d [ 1 , 2 ] , n 1 head [1,2], n 1 head[1,2],n1 输出 [ 1 ] [1] [1] 提示 1 s z 30 1 sz 30 1sz30其中 s z sz sz 为链表中的节点数目 0 N o d e . v a l 100 0 Node.val 100 0Node.val100 1 n s z 1 n sz 1nsz 2. 思路及代码实现Python 在对链表进行操作时一种常用的技巧是添加一个哑节点dummy node它的 next \textit{next} next 指针指向链表的头节点。这样一来就不需要对头节点进行特殊的判断了。 例如在本题中如果我们要删除节点 y y y我们需要知道节点 y y y 的前驱节点 x x x并将 x x x 的指针指向 y y y 的后继节点。但由于头节点不存在前驱节点因此我们需要在删除头节点时进行特殊判断。但如果我们添加了哑节点那么头节点的前驱节点就是哑节点本身此时我们就只需要考虑通用的情况即可。 题解引用来源力扣官方题解 2.1 计算链表长度 一种容易想到的方法是我们首先从头节点开始对链表进行一次遍历得到链表的长度 L L L。随后我们再从头节点开始对链表进行一次遍历当遍历到第 L − n 1 L−n1 L−n1 个节点时它就是我们需要删除的节点。 为了方便删除操作我们可以从哑节点开始遍历 L − n 1 L−n1 L−n1 个节点。当遍历到第 L − n 1 L−n1 L−n1 个节点时它的下一个节点就是我们需要删除的节点这样我们只需要修改一次指针就能完成删除操作。 该算法的时间复杂度为 O ( L ) O(L) O(L)其中 L L L 是链表的长度空间复杂度为 O ( 1 ) O(1) O(1)。 class Solution:def removeNthFromEnd(self, head: ListNode, n: int) - ListNode:def getLength(head: ListNode) - int:length 0while head:length 1head head.nextreturn lengthdummy ListNode(0, head)length getLength(head)cur dummyfor i in range(1, length - n 1):cur cur.nextcur.next cur.next.nextreturn dummy.next执行用时44 ms 消耗内存16.45 MB 2.2 栈 我们也可以在遍历链表的同时将所有节点依次入栈。根据栈「先进后出」的原则我们弹出栈的第 n n n 个节点就是需要删除的节点并且目前栈顶的节点就是待删除节点的前驱节点。这样一来删除操作就变得十分方便了。 上一个方法用链表结构存储每个节点的指向节点因此节省存储空间无需存储所有的节点。而用栈的方法在Python中用元素带顺序的列表来表征进出操作实现逻辑很直观简单但需牺牲部分存储空间。 该算法的时间复杂度为 O ( L ) O(L) O(L)空间复杂度也为 O ( L ) O(L) O(L)。 class Solution:def removeNthFromEnd(self, head: ListNode, n: int) - ListNode:dummy ListNode(0, head)stack list()cur dummywhile cur:stack.append(cur)cur cur.nextfor i in range(n):stack.pop()prev stack[-1]prev.next prev.next.nextreturn dummy.next执行用时27 ms 消耗内存16.38 MB
http://www.w-s-a.com/news/460180/

相关文章:

  • 移动端网站建站视频教程网站如何做淘客
  • 注册网站会不会有风险网站建设实训致谢语
  • ssh框架做的家政服务网站需要做网站建设的公司
  • 众筹网站制作长春高端网站建设
  • 亳州网站网站建设wordpress汉化.po
  • 怎样给建设的网站提意见网红营销概念
  • 怎么知道一个网站是谁做的广告行业网
  • 上海app定制开发公司大城网站优化
  • 工厂 网站建设北京招聘网站设计师
  • 企业网站建设与网络营销的关系网页qq音乐在线听
  • 网站如何制作学校的做做代销的网站
  • 灌云网站建设维护常州市天宁区建设局网站
  • 广州中小企业网站建设网络营销平台的类型
  • 做非遗网站的原因wordpress ip 插件
  • 微信企业网站 源码下载wordpress 4.9.5 太卡
  • 湖北网站建设公司哪家好房地产最新政策调整
  • 重庆建设岗位培训网站今天重大新闻乌克兰
  • 流水线 东莞网站建设如何在网上销售产品
  • 哪些做图片赚钱的网站网站建设销售业绩任务
  • 建立网站 知乎如何做网站的图片滑动块
  • 国外做珠宝的网站有哪些滨湖区建设局官方网站
  • 关于中国幼教网站开发的经验中国建设银行晋中分行网站
  • 挪威网站后缀如何外贸网络推广
  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站
  • 建站公司怎么获客网站建设全网营销
  • 黄石做网站的公司html免费网站模板
  • 做个商城网站怎么做便宜优酷视频网站源码
  • 网站侧边栏导航代码泰兴市住房和建设局网站
  • html网站登录界面模板确定建设电子商务网站目的