美文网首页
2.两数相加

2.两数相加

作者: 寂灭天骄小童鞋 | 来源:发表于2020-02-27 10:50 被阅读0次

    https://leetcode-cn.com/problems/add-two-numbers/

    func addTwoNumbers(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? {
        //先定义一个虚拟头结点,真实头结点为dummyNode.next
        let dummyNode = ListNode(0)
        //当前节点
        var curNode = dummyNode
        var carry = 0
        var sum = 0
        var l1Node = l1
        var l2Node = l2
        
        while (l1Node != nil) || (l2Node != nil) {
            sum = (l1Node?.val ?? 0) + (l2Node?.val ?? 0) + carry
            carry = sum / 10
            curNode.next = ListNode(sum % 10)
            curNode = curNode.next!
            
            if l1Node != nil {
                l1Node = l1Node?.next
            }
            
            if l2Node != nil {
                l2Node = l2Node?.next
            }
        }
        
        if carry == 1 {
            curNode.next = ListNode(1)
        }
        
        return dummyNode.next
    }
    

    相关文章

      网友评论

          本文标题:2.两数相加

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