难度:简单
频次:18
输入两个链表,找出它们的第一个公共节点。
如下面的两个链表:
解题思路:双指针法 浪漫相遇,根据距离相等
代码
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
ListNode cur1=headA,cur2=headB;
while(cur1!=cur2){
cur1=cur1==null?headB:cur1.next;
cur2=cur2==null?headA:cur2.next;
}
//相等只有两种情况,第一种是相遇,第二种是都为null
return cur1;
}
}