@@ -0,0 +1,1233 @@
+/**%0A * Definition for singly-linked list.%0A * public class ListNode %7B%0A *     int val;%0A *     ListNode next;%0A *     ListNode(int x) %7B%0A *         val = x;%0A *         next = null;%0A *     %7D%0A * %7D%0A */%0Apublic class Solution %7B%0A    public ListNode getIntersectionNode(ListNode headA, ListNode headB) %7B%0A        if(headA == null %7C%7C headB == null )%7B%0A            return null;%0A        %7D%0A        int lengthA = Length(headA);%0A        int lengthB = Length(headB);%0A        ListNode longer = lengthA%3E=lengthB? headA:headB;%0A        ListNode shorter = lengthA%3ClengthB? headA:headB;%0A        int diff = Math.abs(lengthA-lengthB);%0A        while(diff%3E0)%7B%0A            if(longer != shorter)%7B%0A                longer = longer.next;%0A                diff--;%0A            %7Delse%7B%0A                return longer;%0A            %7D %0A        %7D%0A        while(longer!= null)%7B%0A            if(longer != shorter)%7B%0A                longer = longer.next;%0A                shorter = shorter.next;%0A            %7Delse%7B%0A                return longer;%0A            %7D%0A        %7D%0A        return null;%0A    %7D%0A    %0A    public int Length(ListNode head)%7B%0A        int length = 0;%0A        while(head != null)%7B%0A            length++;%0A            head = head.next;%0A        %7D%0A        return length;%0A    %7D%0A%7D

The solution for 160