817. Linked List Components

Posted ruisha

tags:

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

We are given head, the head node of a linked list containing unique integer values.

We are also given the list G, a subset of the values in the linked list.

Return the number of connected components in G, where two values are connected if they appear consecutively in the linked list.

Example 1:

Input: 
head: 0->1->2->3
G = [0, 1, 3]
Output: 2
Explanation: 
0 and 1 are connected, so [0, 1] and [3] are the two connected components.

Example 2:

Input: 
head: 0->1->2->3->4
G = [0, 3, 1, 4]
Output: 2
Explanation: 
0 and 1 are connected, 3 and 4 are connected, so [0, 1] and [3, 4] are the two connected components.

Note:

  • If N is the length of the linked list given by head1 <= N <= 10000.
  • The value of each node in the linked list will be in the range [0, N - 1].
  • 1 <= G.length <= 10000.
  • G is a subset of all values in the linked list.

 

 

 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     int numComponents(ListNode* head, vector<int>& G) {
12         unordered_set<int> set;
13         for(int num: G){
14             set.insert(num);
15         }
16         
17         int count = 0;
18         bool prev = false;
19         ListNode* curr = head;
20         while(curr){
21             if(set.find(curr->val)!=set.end()){
22                 if(!prev){
23                     count++;
24                     prev = true;
25                 }
26             }else{
27                 prev = false;
28             }
29             
30             curr= curr->next;
31         }
32         return count;
33     }
34 };

 

以上是关于817. Linked List Components的主要内容,如果未能解决你的问题,请参考以下文章

leetcode817 Linked List Components

817. Linked List Components - Medium

817. Linked List Components - LeetCode

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

LeetCode 817. 链表组件

LeetCode 0817. 链表组件