题解 | 链表相交

链表相交

https://www.nowcoder.com/practice/bd911c77a1ed4e289a0699fa7df23b6c

ListNode* getIntersectionNode(ListNode* headA, ListNode* headB) {

    // 在这里补充代码

    ListNode* p1 = headA;

    ListNode* p2 = headB;

    int k = 0;

    while (p1 != nullptr && p2 != nullptr) {

        p1 = p1->next;

        p2 = p2->next;

    }

    if (p1 == nullptr) {

        while (p2 != nullptr) {

            p2 = p2->next;

            k++;

        }

        p2 = headB;

        p1 = headA;

        while (k--)

            p2 = p2->next;

        while (p1 != nullptr) {

            if (p1 == p2)

                return p1;

            p1 = p1->next;

            p2 = p2->next;

        }

        return nullptr;

    } else {

        while (p1 != nullptr) {

            p1 = p1->next;

            k++;

        }

        p2 = headB;

        p1 = headA;

        while (k--)

            p1 = p1->next;

        while (p2 != nullptr) {

            if (p1 == p2)

                return p1;

            p1 = p1->next;

            p2 = p2->next;

        }

        return nullptr;

    }

}

全部评论

相关推荐

爱吃烤肠的牛油最喜欢...:50K是ssp了估计,ssp的人家多厉害都不用说,每年比例大概在百分之5左右
点赞 评论 收藏
分享
我的代码出BUG了:@美团@腾讯@字节跳动@阿里巴巴。你们好好看看吧,你们就挂我吧,到时候被人家鸽穿还得录取我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务