(Swift 4.2)Add Two Numbers

(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
  }
}

猜你喜欢

转载自blog.csdn.net/weixin_33830216/article/details/87190242