1. var getIntersectionNode = function(headA, headB) {
    2. let lastHeadA = null;
    3. let lastHeadB = null;
    4. let originHeadA = headA;
    5. let originHeadB = headB;
    6. if (!headA || !headB) {
    7. return null;
    8. }
    9. while (true) {
    10. if (headB == headA) {
    11. return headB;
    12. }
    13. if (headA && headA.next == null) {
    14. lastHeadA = headA;
    15. headA = originHeadB;
    16. } else {
    17. headA = headA.next;
    18. }
    19. if (headB && headB.next == null) {
    20. lastHeadB = headB
    21. headB = originHeadA;
    22. } else {
    23. headB = headB.next;
    24. }
    25. if (lastHeadA && lastHeadB && lastHeadA != lastHeadB) {
    26. return null;
    27. }
    28. }
    29. return null;
    30. };