LeetCode 817. 链表组件

Posted hurryxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 817. 链表组件相关的知识,希望对你有一定的参考价值。

(LeetCode 817. 链表组件)[https://leetcode-cn.com/problems/linked-list-components/]

2. Tag

  1. 链表

3. Code

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    int numComponents(ListNode* head, vector<int>& G) {
        set<int> se;
        for(auto g:G)
            se.insert(g);
        
        int res=0;
        ListNode* cur=head;
        while(cur)
        {
            // 判断当前结点的值是否存在于set中
            // 若存在,则判断下一个值是否存在,不存在说明存在组件
            if(se.find(cur->val)!=se.end()&&(cur->next==NULL||(se.find(cur->next->val)==se.end())))
                res++;
            cur=cur->next;
        }
        return res;
    }
};

以上是关于LeetCode 817. 链表组件的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 817. Linked List Components (链表组件)

LeetCode 1790. 仅执行一次字符串交换能否使两个字符串相等 / 817. 链表组件 / 769. 最多能完成排序的块

LeetCode 0817. 链表组件

每日一题817. 链表组件

leetcode817 Linked List Components

#Leetcode# 817. Linked List Components