当前位置:   article > 正文

一:单链表——④判断两个单链表是否相交

判断两个单链表是否相交

题目:输入两个链表的头节点,判断这两个链表是否存在相交

链表的定义如下:

  1. typedef int Elemtype;
  2. typedef struct ListNode
  3. {
  4. Elemtype data;//值域
  5. ListNode *m_pNext;//指针域
  6. }ListNode,*PListNode;

看到这个题目后大多数的人的第一反应应该就是,判断这两个链表的任意一个节点的指针是否相同,如果有那么这两个链表相交,否则不想交,然后呢用二重for循环来一一查找。显然这是一种笨方法,时间效率极其低下,那么我们来分析如何能够优化该解决方案呢?

首先我们先来分析,两个链表相交能出现哪些情况呢?

第一种:

在第n个节点开始这两条链表的后续重叠。好像两个相爱的人,在相遇了之后,便永不分离。

第二种:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/689943
推荐阅读
相关标签
  

闽ICP备14008679号