美文网首页Leetcode
Leetcode 160. Intersection of Tw

Leetcode 160. Intersection of Tw

作者: SnailTyan | 来源:发表于2018-10-27 21:18 被阅读0次

    文章作者:Tyan
    博客:noahsnail.com  |  CSDN  |  简书

    1. Description

    Intersection of Two Linked Lists

    2. Solution

    • Version 1
    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
            unordered_map<ListNode*, ListNode*> m;
            ListNode* current = headA;
            while(current) {
                m[current] = current;
                current = current->next;
            }
            current = headB;
            while(current) {
                if(m.find(current) != m.end()) {
                    return current;
                }
                current = current->next;
            }
            return nullptr;
        }
    };
    
    • Version 2
    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
            if(!headA || !headB) {
                return nullptr;
            }
            ListNode* pA = headA;
            ListNode* pB = headB;
            while(pA != pB) {
                pA = pA->next;
                pB = pB->next;
                if(!pA && pB) {
                    pA = headB;
                }
                if(pA && !pB) {
                    pB = headA;
                }
            }
            return pA?pA:nullptr;
        }
    };
    

    Reference

    1. https://leetcode.com/problems/intersection-of-two-linked-lists/description/

    相关文章

      网友评论

        本文标题:Leetcode 160. Intersection of Tw

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