LeetCode 817. 链表组件
Posted hurryxin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 817. 链表组件相关的知识,希望对你有一定的参考价值。
1. LeetCode Link
(LeetCode 817. 链表组件)[https://leetcode-cn.com/problems/linked-list-components/]
2. Tag
- 链表
-
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. 最多能完成排序的块