有两个单链表,判断它们是否相交,若相交,求交点
第一步判断两个链表是否相交
-
如果两个链表相交,那么它们的最后一个节点肯定是同一个节点,如下图展示
-
我们可以分别遍历两个链表,直到最后一个节点
-
当最后两个是同一个节点时,则说明相交
public static boolean IsPoint(ListNode first,ListNode head){
ListNode forward = first;
ListNode backward = head;
if((first == null)||(head == null)){
return false;
}
while(first != null){
first = first.next;
}
while(head != null){
head = head.next;
}
return first == head;
}
<