什么是单向链表,如何判断两个单向链表是否相交?

2019-06-0507:58:23数据结构与算法Comments2,475 views字数 396阅读模式

请问什么是单向链表,如何判断两个单向链表是否相交?

参考回答:

考察点:数据结构,算法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

公司:百度文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

1、单向链表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

列表是由结点构成,head指针指向第一个成为表头结点,而终止于最后一个指向nuLL的指针。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

什么是单向链表,如何判断两个单向链表是否相交?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

2、判断两个链表是否相交文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

1)方法1:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

链表相交之后,后面的部分节点全部共用,可以用2个指针分别从这两个链表头部走到尾部,最后判断尾部指针的地址信息是否一样,若一样则代表链表相交!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

2)方法2:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

可以把其中一个链表的所有节点地址信息存到数组中,然后把另一个链表的每一个节点地址信息遍历数组,若相等,则跳出循环,说明链表相交。进一步优化则是进行hash排序,建立hash表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/13429.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/suanfa/13429.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定