这道题emmm,难度相对来说很大额。
主要是要分成三种情况来考虑:
1. 两个链表都无环;
2. 两个链表都有环;
3. 一个有环一个无环,这种情况是不用 考虑的,一定没有交点(姥姥记住:单链表仅有一个指针,你脑补的情况都会破坏这个 要求。)
其中2又可以分为三种情况:如下:
而在判断它是否有交点的时候,前提是要先判断其是有环还是无环(其中这里有两种方法进行判断,第一种方法用哈希表,相对 来说比较容易,第二种利用两个指针来比较,程序都有相应的实现方法)
下面直接附上程序:
程序里面也有相应的解释和说明:
通过哈希表来判断该链表是有环还是无环
通过两个指针来判断链表是有环还是无环
通过哈希表来判断两个无环的链表是否相交
不用哈希表也可以实现:找出两个无环的链表是否相交,只不过要设计,要有经验
当两个链表都有环的时候,情况可能相对来说复杂一点,主要有三种情况:
有兴趣的同学可以一起来探讨~