You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Given the head of a graph, return a deep copy (clone) of the graph. Each node in the graph contains a label (int) and a list (List[UndirectedGraphNode]) of its neighbors. There is an edge between the given node and each of the nodes in its neighbors.
6
+
7
+
8
+
OJ's undirected graph serialization (so you can understand error output):
9
+
Nodes are labeled uniquely.
10
+
11
+
We use # as a separator for each node, and , as a separator for node label and each neighbor of the node.
12
+
13
+
14
+
As an example, consider the serialized graph {0,1,2#1,2#2,2}.
15
+
16
+
The graph has a total of three nodes, and therefore contains three parts as separated by #.
17
+
18
+
First node is labeled as 0. Connect node 0 to both nodes 1 and 2.
19
+
Second node is labeled as 1. Connect node 1 to node 2.
20
+
Third node is labeled as 2. Connect node 2 to node 2 (itself), thus forming a self-cycle.
21
+
22
+
23
+
Visually, the graph looks like the following:
24
+
25
+
1
26
+
/ \
27
+
/ \
28
+
0 --- 2
29
+
/ \
30
+
\_/
31
+
Note: The information about the tree serialization is only meant so that you can understand error output if you get a wrong answer.
32
+
You don't need to understand the serialization to solve the problem.
33
+
*/
34
+
35
+
/**
36
+
* Definition for undirected graph.
37
+
* function UndirectedGraphNode(label) {
38
+
* this.label = label;
39
+
* this.neighbors = []; // Array of UndirectedGraphNode
0 commit comments