160. Intersection of Two Linked Lists
Intersection of Two Linked Lists
Solution
/**
* 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) {
ListNode runner1 = headA;
int sizeA = 0;
while (runner1 != null) {
runner1 = runner1.next;
sizeA++;
}
int sizeB = 0;
runner1 = headB;
while (runner1 != null) {
runner1 = runner1.next;
sizeB++;
}
ListNode m = headA;
ListNode n = headB;
if (sizeA < sizeB) {
m = headB;
n = headA;
}
for (int i = 0; i < Math.abs(sizeA - sizeB); i++) {
m = m.next;
}
while (m != null && n != null && m.val != n.val) {
m = m.next;
n = n.next;
}
return m;
}
}Last updated