File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed
Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ //
2+ // 133. Clone Graph
3+ // https://leetcode.com/problems/clone-graph/description/
4+ // Dale-Study
5+ //
6+ // Created by WhiteHyun on 2024/06/28.
7+ //
8+
9+ /**
10+ * Definition for a Node.
11+ * public class Node {
12+ * public var val: Int
13+ * public var neighbors: [Node?]
14+ * public init(_ val: Int) {
15+ * self.val = val
16+ * self.neighbors = []
17+ * }
18+ * }
19+ */
20+
21+ class Solution {
22+ var cache : [ Int : Node ] = [ : ]
23+
24+ func cloneGraph( _ originalNode: Node ? ) -> Node ? {
25+ guard let originalNode
26+ else {
27+ return nil
28+ }
29+
30+ guard cache [ originalNode. val] == nil
31+ else { return cache [ originalNode. val] ! }
32+
33+ let node = Node ( originalNode. val)
34+ cache [ originalNode. val] = node
35+
36+
37+ node. neighbors = originalNode. neighbors. map ( cloneGraph)
38+
39+ return node
40+ }
41+ }
You can’t perform that action at this time.
0 commit comments