如果一个单链表有环,另外一个没环,那么它们肯定不相交。 如果两个单链表都有环并且相交,那么这两个链表一定共享这个环。如下图 判断两个有环的链表是否相交的方法为:首先找到链表headl中环的入口点pl,然后遍历链表head2,判断链表中是否包含结点 pl,如果包含,则这两个链表相交,否则不相交。 找相交点的方法为:...
方法2:见链表1与2进行首尾相连,判断新链表是否有环,若没有,则不相交,若有环,则是相交的。 方法3:先计算两个链表的长度L1、L2,若L1 > L2,则先将链表1移动(L1 - L2)个节点,等到链表1和链表2剩下的长度一样的时候,一起向后移动,依次判断当前链表的节点是否相等,若相等,则相交,若到队尾还没有相等的,...
比较好的方法有两个: 将其中一个链表首尾相连,检测另外一个链表是否存在环;如果存在,则两个链表相交,而检测出来的环入口即为相交的第一个结点。 如果两个链表相交,那个两个链表从相交点到链表结束都是相同的节点。我们可以先遍历一个链表,直到尾部,再遍历另外一个链表,如果也可以走到同样的结尾点,则两个链表相交。
1、首先判断是否有环, 若两个链表都没有环,则进行无环单链表判断是否相交,进入2; 若两个链表一个有环一个无环,则直接判断不相交; 若两个链表都有环,则分别得到每个链表的入环节点node1,node2,然后进行有环单链表判断是否相交,进入3; 判断是否有环的方法如下: View Code 有环时查找入环点的方法的证明过程...