剑指offer
剑指offer52:输入两个链表,找出它们的第一个公共节点。
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
ListNode node1=headA;
ListNode node2=headB;
while(node1!=node2){ node1=node1!=null?node1.next:headB; node2=node2!=null?node2.next:headA; } return node1; }
题解:双指针法
声明两个指针,分别指向两个链表的头节点,遍历两个链表,谁先遍历完,则先遍历完的指针指向另一个链表的头节点,继续遍历;
没有遍历完的指针继续遍历,遍历完后重复上面的操作,这样循环往复,这两个指针总会指向同一个公共节点。