LeetCode206链表相交

参考链接:代码随想录:LeetCode206链表相交
注意,判断链表相交的依据是指针是否相等,而非值相等!

解法1:600ms很慢

class Solution {
   
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
   
        ListNode* pA=headA,*pB=headB;
        for(;pA;pA=pA->next){
   
            for(pB=headB;pB;pB=pB->next){
   
                if(pA==pB&&pA->val==pB->val){
   
                    return pA;
                }
            }
        }
        if(pA==NULL||pB==NULL){
   
            return NULL;
        }
        return pA;
    }
};

解法2:hash表

先遍历A链表,使用hash表存A的所有元素,然后遍历B链表,查看B中是否存在指针存在于A中,如果存在则返回当前正在遍历的指针,如果遍历完B依然找不到,则无相交!

class Solution {
   
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
   
        ListNode* pA=headA,*pB=headB;
        unordered_set<ListNode*> sA;
        for(;pA;pA=pA->next){
   
            sA.insert(pA);
        }
        for(;pB;pB=pB->next){
   
            if(sA.count(pB)){
   
                return pB;
            }
        }
        return NULL;
    }
};

相关推荐

  1. LeetCode206相交

    2024-02-23 20:26:04       54 阅读
  2. leetcode-相交

    2024-02-23 20:26:04       57 阅读
  3. leetcode-206-翻转

    2024-02-23 20:26:04       55 阅读
  4. leetcode206. 反转

    2024-02-23 20:26:04       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 20:26:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 20:26:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 20:26:04       82 阅读
  4. Python语言-面向对象

    2024-02-23 20:26:04       91 阅读

热门阅读

  1. 什么时候用ref和reactive

    2024-02-23 20:26:04       43 阅读
  2. 如何让qml使用opengl es

    2024-02-23 20:26:04       44 阅读
  3. ChatGPT提示词(最新)

    2024-02-23 20:26:04       41 阅读
  4. K8S 滚动升级&持久化实战案例

    2024-02-23 20:26:04       53 阅读