LeetCode_160_IntersectionofTwoLinkedLists
题目分析:
求交点,不可以利用上题方法,先翻转两个链表,然后遍历直到分叉,因为链表无法指向两个子节点。
巧妙的方式,将a,b两链表首尾相连并遍历,则一定会在交点处相遇。
解法:
public static ListNode getIntersectionNode(ListNode headA, ListNode headB) {
if (headA == null || headB == null) return null;
ListNode a = headA, b = headB;
while (a != b) {
a = (a != null) ? a.next : headB;
b = (b != null) ? b.next : headA;
}
return a;
}
网友评论