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

视频网站怎么做算法谷歌查询关键词的工具叫什么

视频网站怎么做算法,谷歌查询关键词的工具叫什么,iis7.5怎么做网站,厂房装修公司深圳LCR 021. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 可以使用双指针方法来解决这个问题,这样可以在一次遍历内完成删除操作,从而达到 O(n) 的时间复杂度。以下是 Python 代码实现: 解题思路: 初始化快…

LCR 021. 删除链表的倒数第 N 个结点 - 力扣(LeetCode)

可以使用双指针方法来解决这个问题,这样可以在一次遍历内完成删除操作,从而达到 O(n) 的时间复杂度。以下是 Python 代码实现:

解题思路:

  1. 初始化快慢指针:使用两个指针 fastslow,都指向头结点。
  2. 快指针先走 n 步:这样当快指针到达链表末尾时,慢指针正好指向倒数第 n 个节点的前一个节点。
  3. 同时移动快慢指针:直到快指针到达链表的末尾。
  4. 删除目标节点:调整前一个节点的 next 指针。

Python 代码:

class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = nextdef removeNthFromEnd(head: ListNode, n: int) -> ListNode:dummy = ListNode(0, head)  # 添加哑节点,方便处理边界情况fast = slow = dummy  # 快慢指针初始化指向哑节点# 让快指针先走 n+1 步,这样 slow 指向待删除节点的前一个节点for _ in range(n + 1):fast = fast.next# 同时移动快慢指针,直到快指针到达链表尾部while fast:fast = fast.nextslow = slow.next# 删除倒数第 n 个节点slow.next = slow.next.nextreturn dummy.next  # 返回真正的头节点

复杂度分析

  • 时间复杂度: O(n),只遍历了一次链表。
  • 空间复杂度: O(1),只用了常数级额外空间。

示例

# 构造链表 1 -> 2 -> 3 -> 4 -> 5
head = ListNode(1, ListNode(2, ListNode(3, ListNode(4, ListNode(5)))))# 删除倒数第 2 个节点
new_head = removeNthFromEnd(head, 2)# 打印新链表
cur = new_head
while cur:print(cur.val, end=" -> ")cur = cur.next
# 输出:1 -> 2 -> 3 -> 5 ->

这个方法使用了 哑节点(dummy node),有效地避免了删除头节点的特殊情况,使代码更加简洁稳健。

http://www.dtcms.com/wzjs/460149.html

相关文章:

  • 四川兴昌建设有限公司网站怎么看百度指数
  • 黑彩网站开发网络销售怎么聊客户
  • 外贸推广B2B网站建设国际最新十大新闻事件
  • 百度做的网站能优化吗怎么注册中视频账号
  • 国内服务器做彩票网站安全吗怎么建立信息网站平台
  • 做网站建设公司怎么样关键词app下载
  • 成都网站搭建公司哪家便宜公司网站建设哪家公司好
  • 写作的网站有哪些天眼查企业查询入口
  • 本网站建设中网络营销策划方案ppt
  • 商务型网站有哪些优化网站关键词排名软件
  • 软件公司网站建设刷赞网站推广永久
  • 中国舆情监测公司排名狼雨seo网站
  • 浙江第一水电建设集团网站电话投放小网站
  • 公司网站建设流程新网域名注册查询
  • wordpress修改登陆地址后缀长春网站seo公司
  • 国外设计素材网站免费桂林网站设计制作
  • 有什么手机做网站的网站建设优化收费
  • 邯郸网站制作地方百度搜索引擎地址
  • java从入门到精通2022年搜索引擎优化指南
  • 进出口网站贸易平台有哪些推广渠道有哪些平台
  • 阿里云网站全部清空怎么做太原seo外包公司
  • 深圳网站建设设计制作怎样做好销售和客户交流
  • 奎屯建设局网站网站seo诊断报告怎么写
  • 深圳网站建设工作网易最新消息新闻
  • 用阿里云做网站会不会被黑搜索引擎优化的英语简称
  • 新站网站推广该如何做营销渠道方案
  • 网站设计动图怎么建设大型的营销型网站
  • 河南做网站汉狮廊坊关键词优化排名
  • 加盟品牌网站建设36优化大师下载安装
  • 武汉教育云平台网站建设预防电信网络诈骗