美文网首页
【LeetCode-160 | 链表相交】

【LeetCode-160 | 链表相交】

作者: CurryCoder | 来源:发表于2021-12-26 22:20 被阅读0次
1.jpg 2.jpg 3.jpg 4.jpg
struct ListNode {
    int val;
    ListNode* next;
    ListNode(int x): val(x), next(nullptr) {}
};


/*
    解题思路:
        1.指针curA指向A链表,指针curB指向B链表,依次往后遍历
        2.如果curA到了末尾,则curA = headB继续遍历
        3.如果curB到了末尾,则curB = headA继续遍历
        4.当较长链表指针指向较短链表头部节点时,两个链表之间的长度差就消除了。于是,只需要将较短链表遍历两次即可找到交点位置
*/

class Solution {
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
        if (headA == nullptr || headB == nullptr) {
            return nullptr;
        }
        ListNode *curA = headA;
        ListNode *curB = headB;
        
        while (curA != curB) { 
            curA = curA == nullptr ? headB : curA->next; 
            curB = curB == nullptr ? headA : curB->next; 
        }

        return curA;
    }
};

相关文章

  • 【LeetCode-160 | 链表相交】

  • 链表--相交链表

    目录[https://www.jianshu.com/p/85e18c21317a] 题号[https://lee...

  • 链表相交的问题(java)

    判断两个无环链表是否相交首先我们要知道相交是什么概念两个链表相交.png现在大家都知道了,两个链表相交,则两个链表...

  • 相交链表

    编写一个程序,找到两个单链表相交的起始节点。 注意: 如果两个链表没有交点,返回 null.在返回结果后,两个链表...

  • 相交链表

    相交链表 编写一个程序,找到两个单链表相交的起始节点。 注意: 如果两个链表没有交点,返回 null. 在返回结果...

  • 相交链表

    题目 编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表: A: a1 → a2...

  • 相交链表

    题目 难度级别:简单 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 ...

  • 相交链表

    题目描述:编写一个程序,找到两个单链表相交的起始节点。 示例: 输入:intersectVal = 8, list...

  • 相交链表

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/inte...

  • 相交链表

    编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:in...

网友评论

      本文标题:【LeetCode-160 | 链表相交】

      本文链接:https://www.haomeiwen.com/subject/uodeqrtx.html