File tree Expand file tree Collapse file tree 3 files changed +117
-0
lines changed
solution/0100-0199/0160.Intersection of Two Linked Lists Expand file tree Collapse file tree 3 files changed +117
-0
lines changed Original file line number Diff line number Diff line change @@ -228,6 +228,47 @@ function getIntersectionNode(
228
228
}
229
229
```
230
230
231
+ ### ** Swift**
232
+
233
+ ``` swift
234
+ /**
235
+ * Definition for singly-linked list.
236
+ * public class ListNode {
237
+ * public var val: Int
238
+ * public var next: ListNode?
239
+ * public init(_ val: Int) {
240
+ * self.val = val
241
+ * self.next = nil
242
+ * }
243
+ * }
244
+ */
245
+
246
+ class Solution {
247
+ func getIntersectionNode (_ headA : ListNode? , _ headB : ListNode? ) -> ListNode? {
248
+
249
+ guard let _ = headA, let _ = headB else {
250
+ return nil
251
+ }
252
+
253
+ var nodeA = headA
254
+ var nodeB = headB
255
+
256
+ while nodeA != nodeB {
257
+ nodeA = nodeA != nil ? nodeA? .next : headB
258
+ nodeB = nodeB != nil ? nodeB? .next : headA
259
+ }
260
+
261
+ return nodeA
262
+ }
263
+ }
264
+
265
+ extension ListNode : Equatable {
266
+ public static func == (lhs : ListNode, rhs : ListNode) -> Bool {
267
+ return ObjectIdentifier (lhs) == ObjectIdentifier (rhs)
268
+ }
269
+ }
270
+ ```
271
+
231
272
### ** ...**
232
273
233
274
```
Original file line number Diff line number Diff line change @@ -214,6 +214,47 @@ function getIntersectionNode(
214
214
}
215
215
```
216
216
217
+ ### ** Swift**
218
+
219
+ ``` swift
220
+ /**
221
+ * Definition for singly-linked list.
222
+ * public class ListNode {
223
+ * public var val: Int
224
+ * public var next: ListNode?
225
+ * public init(_ val: Int) {
226
+ * self.val = val
227
+ * self.next = nil
228
+ * }
229
+ * }
230
+ */
231
+
232
+ class Solution {
233
+ func getIntersectionNode (_ headA : ListNode? , _ headB : ListNode? ) -> ListNode? {
234
+
235
+ guard let _ = headA, let _ = headB else {
236
+ return nil
237
+ }
238
+
239
+ var nodeA = headA
240
+ var nodeB = headB
241
+
242
+ while nodeA != nodeB {
243
+ nodeA = nodeA != nil ? nodeA? .next : headB
244
+ nodeB = nodeB != nil ? nodeB? .next : headA
245
+ }
246
+
247
+ return nodeA
248
+ }
249
+ }
250
+
251
+ extension ListNode : Equatable {
252
+ public static func == (lhs : ListNode, rhs : ListNode) -> Bool {
253
+ return ObjectIdentifier (lhs) == ObjectIdentifier (rhs)
254
+ }
255
+ }
256
+ ```
257
+
217
258
### ** ...**
218
259
219
260
```
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for singly-linked list.
3
+ * public class ListNode {
4
+ * public var val: Int
5
+ * public var next: ListNode?
6
+ * public init(_ val: Int) {
7
+ * self.val = val
8
+ * self.next = nil
9
+ * }
10
+ * }
11
+ */
12
+
13
+ class Solution {
14
+ func getIntersectionNode( _ headA: ListNode ? , _ headB: ListNode ? ) -> ListNode ? {
15
+ guard let _ = headA, let _ = headB else {
16
+ return nil
17
+ }
18
+
19
+ var nodeA = headA
20
+ var nodeB = headB
21
+
22
+ while nodeA != nodeB {
23
+ nodeA = nodeA != nil ? nodeA? . next : headB
24
+ nodeB = nodeB != nil ? nodeB? . next : headA
25
+ }
26
+
27
+ return nodeA
28
+ }
29
+ }
30
+
31
+ extension ListNode : Equatable {
32
+ public static func == ( lhs: ListNode , rhs: ListNode ) -> Bool {
33
+ return ObjectIdentifier ( lhs) == ObjectIdentifier ( rhs)
34
+ }
35
+ }
You can’t perform that action at this time.
0 commit comments