题目
输入两个链表,找出它们的第一个公共节点。
思路
这个题目仔细观察观察,可以发现
- 如果两者有公共交点,长度若是一样,则第一圈就相遇,若长度不一样,第二圈相遇
- 如果两者没有公共交点,长度若是一样,第一圈就out,若长度不一样,第二圈out
代码
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {if (headA == null || headB == null) {return null;} else {ListNode cur1 = headA;ListNode cur2 = headB;while (cur1 != cur2) {cur1 = (cur1 == null) ? headB : cur1.next;cur2 = (cur2 == null) ? headA : cur2.next;}return cur1;}}
