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

发布于 2020-01-30 17:34:09
关注者
0
被浏览
433
1 个回答
  • 面试哥
    面试哥 2020-01-30
    为面试而生,有面试问题,就找面试哥。

    参考回答:

    考察点:数据结构,算法

    公司:百度

    1、单向链表

    单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点。

    列表是由结点构成,head指针指向第一个成为表头结点,而终止于最后一个指向nuLL的指针。

    img

    2、判断两个链表是否相交

    1)方法1:

    链表相交之后,后面的部分节点全部共用,可以用2个指针分别从这两个链表头部走到尾部,最后判断尾部指针的地址信息是否一样,若一样则代表链表相交!

    2)方法2:

    可以把其中一个链表的所有节点地址信息存到数组中,然后把另一个链表的每一个节点地址信息遍历数组,若相等,则跳出循环,说明链表相交。进一步优化则是进行hash排序,建立hash表。

面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看