Skip to content

Commit 07c4dbd

Browse files
authored
Update README.md
1 parent 5efdc26 commit 07c4dbd

File tree

1 file changed

+13
-32
lines changed
  • solution/0000-0099/0002.Add Two Numbers

1 file changed

+13
-32
lines changed

solution/0000-0099/0002.Add Two Numbers/README.md

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@ def add_two_numbers(l1, l2)
270270
dummy.next
271271
end
272272
```
273+
273274
### **Swift**
274275

275276
```swift
@@ -285,40 +286,20 @@ end
285286
*/
286287
class Solution {
287288
func addTwoNumbers(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? {
289+
var dummy = ListNode.init()
288290
var carry = 0
289-
var resHead: ListNode?
290-
var resCur: ListNode?
291-
var l1Cur = l1
292-
var l2Cur = l2
293-
while l1Cur != nil || l2Cur != nil {
294-
var nodeVal: Int!
295-
if let l1Value = l1Cur?.val, let l2Value = l2Cur?.val {
296-
nodeVal = l1Value + l2Value + carry
297-
} else if let l1Value = l1Cur?.val {
298-
nodeVal = l1Value + carry
299-
} else if let l2Value = l2Cur?.val {
300-
nodeVal = l2Value + carry
301-
}
302-
if nodeVal >= 10 {
303-
nodeVal = nodeVal % 10
304-
carry = 1
305-
} else {
306-
carry = 0
307-
}
308-
let node = ListNode(nodeVal)
309-
if resHead == nil {
310-
resHead = node
311-
}
312-
resCur?.next = node
313-
resCur = node
314-
l1Cur = l1Cur?.next
315-
l2Cur = l2Cur?.next
316-
}
317-
if carry != 0 {
318-
let node = ListNode(carry)
319-
resCur?.next = node
291+
var l1 = l1
292+
var l2 = l2
293+
var cur = dummy
294+
while l1 != nil || l2 != nil || carry != 0 {
295+
let s = (l1?.val ?? 0) + (l2?.val ?? 0) + carry
296+
carry = s / 10
297+
cur.next = ListNode.init(s % 10)
298+
cur = cur.next!
299+
l1 = l1?.next
300+
l2 = l2?.next
320301
}
321-
return resHead
302+
return dummy.next
322303
}
323304
}
324305
```

0 commit comments

Comments
 (0)