functionfindSameNode2(node1, node2) { let len1 = 0; let len2 = 0; let head1 = node1; let head2 = node2; while (head1) { len1++; head1 = head1.next; }
while (head2) { len2++; head2 = head2.next; }
let long = len1 > len2 ? node1 : node2; let short = len1 > len2 ? node2 : node1; let delta = Math.abs(len1 - len2); while (delta--) { long = long.next; }
let shortLength = Math.min(len1, len2); while (shortLength--) { if (long === short) return long; long = long.next; short = short.next; }