Leetocde160. 相交链表(双指针)
Posted !0 !
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetocde160. 相交链表(双指针)相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/
解题思路
我们可以让pA指针先遍历A链表,遍历完之后再遍历B链表;让pB指针先遍历B链表,遍历完之后再遍历A链表。我们可以发现,如果A,B有交点,那面交点之后的值肯定是一样长的。如果没有交点,那么最后pA和PB都会等于null。
代码
public class Solution {
public ListNode getIntersectionNode(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;
}
}
复杂度分析
- 时间复杂度:O(m + n)
- 空间复杂度:O(1)
以上是关于Leetocde160. 相交链表(双指针)的主要内容,如果未能解决你的问题,请参考以下文章