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

wordpress seo by yoast下载徐州网站建设方案优化

wordpress seo by yoast下载,徐州网站建设方案优化,怎么找人做淘宝网站吗,重庆有的设计网站大全在刷 LeetCode 链表题的过程中,有一道非常经典的题目——相交链表(Intersection of Two Linked Lists)。今天我们来聊聊这道题目的解法和思想。 题目描述 给你两个单链表 headA 和 headB,请你找出并返回它们的第一个公共节点。如…

在刷 LeetCode 链表题的过程中,有一道非常经典的题目——相交链表(Intersection of Two Linked Lists)。今天我们来聊聊这道题目的解法和思想。


题目描述

给你两个单链表 headAheadB,请你找出并返回它们的第一个公共节点。如果两个链表没有交点,返回 null 即可。

⚠️ 注意:题目中所说的「相交」,指的是节点地址相同,而非节点值相同。


思路分析

最直观的做法是暴力遍历或用哈希表记录,但我们今天要介绍的是一种更加优雅的做法:双指针法


解法精髓:双指针

我们用两个指针 AB 分别遍历链表 headAheadB

public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode A = headA;ListNode B = headB;while (A != B) {A = A != null ? A.next : headB;B = B != null ? B.next : headA;}return A;}
}

思维过程详解

  • 两个指针开始分别走各自的链表;

  • 当其中一个到达链表尾部时,跳到另一个链表的头部继续走;

  • 如果两个链表有交点,最终它们会在交点相遇;

  • 如果没有交点,两个指针都会在走完 A + B 长度之后同时为 null,跳出循环。

这种方式其实是用时间换空间让两个指针走了相同的路径长度


举个例子

假设链表如下:

List A: 4 → 1 → 8 → 4 → 5
List B:     5 → 0 → 1 → 8 → 4 → 5

两个链表在节点值为 8 的位置相交(当然我们比较的是节点地址)。

  • A 指针走完 4 → 1 → 8 → 4 → 5,然后跳到 headB

  • B 指针走完 5 → 0 → 1 → 8 → 4 → 5,然后跳到 headA

  • 最终它们在节点 8 处相遇。


复杂度分析

  • 时间复杂度:O(m + n),m 和 n 分别为两个链表的长度;

  • 空间复杂度:O(1),只用了两个指针,无需额外空间。

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

相关文章:

  • 自贡制作网站建网站需要哪些步骤
  • 在线a视频网站一级a做片开网店怎么开 新手无货源
  • 小程序怎么推广引流seo1搬到哪里去了
  • 许昌做网站公司报价怎么做好推广
  • 正能量网站入口谷歌广告优化
  • 海口网站建设优化公司百度一下就知道手机版
  • 网络公司排名榜怎么样关键词优化
  • 个人如何制作一个网站菏泽地网站seo
  • 免费旅游网站模板做百度推广代运营有用吗
  • 建设校园网站公司公司在百度怎么推广
  • 个人网站备案如何取名称南宁seo团队哪家好
  • 洛阳市住房与建设委官方网站广州市疫情最新
  • 高级网站开发技术杭州网站制作排名
  • 怎样在中国建设银行网站开通短信提醒常见的网络推广方法
  • 建站中企动力怎么快速优化关键词排名
  • 企业自建b2b电子商务网站有哪些西安危机公关公司
  • 做外贸女装有哪些网站有哪些线上营销渠道
  • 网站中二级导航栏怎么做网站转让出售
  • 怎么搭建网站后台石家庄百度seo代理
  • 任何判断网站SEO做的好坏seo百度网站排名软件
  • 发布消息做任务的网站软件开发外包
  • 建设银行个人网站显示不了网店营销与推广策划方案
  • 网站图片怎么做alt网络科技有限公司
  • 中铁建设集团门户网登录不上去广告优化师的工作内容
  • 网站的百度推广怎么做优化seo方法
  • 酒店网站模板设计方案推广软文发稿
  • 现在 做网站 技术路线腰肌劳损的自我治疗和恢复的方法有什么?
  • 南昌企业建站模板seo投放是什么意思
  • 我要自学网官网深圳网站设计专业乐云seo
  • 电影院订票网站开发长沙公司网络营销推广