(Swift 4.2)
public class ListNode {
public var val: Int
public var next: ListNode?
public init(_ val: Int) {
self.val = val
self.next = nil
}
}
class Solution {
func addTwoNumbers(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? {
var sum = 0
var copyL1 = l1
var copyL2 = l2
let dummy = ListNode(0)
var node = dummy
while (copyL1 != nil || copyL2 != nil) {
sum = sum / 10
let val1 = copyL1?.val ?? 0
let val2 = copyL2?.val ?? 0
sum = val1 + val2 + sum
copyL1 = copyL1?.next
copyL2 = copyL2?.next
node.next = ListNode(sum % 10)
node = node.next!
}
if sum / 10 > 0 {
node.next = ListNode(1)
}
return dummy.next
}
}
网友评论