輸入兩個鏈表,找出它們的第一個公共節(jié)點。

用Hash表當然是可以,遍歷A,再遍歷B就可以了,但是可以用一個節(jié)省空間的辦法,雙指針,交換指針指向的鏈表
public classSolution{
? ? publicListNodegetIntersectionNode(ListNode headA, ListNode headB){
? ? ? ? if (headA == null || headB == null) {
? ? ? ? ? ? return null;
? ? ? ? }
? ? ? ? ListNode pA = headA, pB = headB;
? ? ? ? while (pA != pB) {
? ? ? ? ? ? pA = pA == null ? headB : pA.next;
? ? ? ? ? ? pB = pB == null ? headA : pB.next;
? ? ? ? }
? ? ? ? return pA;
? ? }