美文网首页Swift algorithm practice
(Swift 4.2)Add Two Numbers

(Swift 4.2)Add Two Numbers

作者: d1497e8e780a | 来源:发表于2019-01-21 13:47 被阅读8次

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

    相关文章

      网友评论

        本文标题:(Swift 4.2)Add Two Numbers

        本文链接:https://www.haomeiwen.com/subject/nhlcjqtx.html