Description:
Write a program to find the node at which the intersection of the singly linked lists begins.
For example, the following, linked lists:
A: a1→a2 c1→c2→c3 B: b1→b2→b3
Begin to intersect at node C1.
Find the intersection of two linked lists
/** * Definition for singly-linked list. * public class ListNode {* int val; * ListNode Next; * ListNode (int x) {* val = x; * Next = Null *} *} */public class Solution {public ListNode Getintersectionnode (ListNode heada, ListNode headb) {if (H Eada==null | | Headb==null) return null; ListNode anode = Heada; ListNode BNode = headb; int aLen = 0, Blen = 0; while (anode! = null) {ALen + +; Anode = Anode.next; } while (BNode! = null) {Blen + +; BNode = Bnode.next; } if (anode! = BNode) return null; if (ALen > Blen) {for (int i = 0; i < Alen-blen; i++) Heada = Heada.next; } else if (ALen < Blen) {for (int i=0; i<blen-alen; i++) headb = Headb.next; } while (Heada! = headb) {Heada = Heada.next; HEADB = Headb.nexT } return Heada; }}
Leetcode--intersection of Linked Lists