美文网首页Swift - LeetCodeSwift in LeetCode
Swift - LeetCode - 两数相加(1)

Swift - LeetCode - 两数相加(1)

作者: 依赖糊涂 | 来源:发表于2019-02-27 11:47 被阅读1次

题目

两个数相加

问题:

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807
代码:
/**
public class SingNode {
    public var value : Int
    public var nextNode: SingNode?
    
    public init(value:Int) {
        self.value = value
    }
}
 **/
 func addTwoNumber(_ l1:singNode?,_ l2:singNode?) -> singNode? {
        if l1 == nil {
            return l2
        }
        
        if l2 == nil {
            return l1
        }
        
        var c1 = l1
        var c2 = l2
        let dummyNode:singNode = singNode.init(value: 0)
        var tempNode = dummyNode
        
        var result = 0
        
        while c1 != nil || c2 != nil {
            result = result/10
            if c1 != nil {
                result += c1?.value ?? 0
                c1 = c1?.nextNode
            }
            
            if c2 != nil {
                result += c2?.value ?? 0
                c2 = c2?.nextNode
            }
            tempNode.nextNode = singNode.init(value: result%10)
            tempNode = tempNode.nextNode!
        }
        return dummyNode.nextNode
    }
    

相关文章

  • Swift - LeetCode - 两数相加(1)

    题目 两个数相加 问题: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存...

  • LeetCode - 两数相加(Swift)

    两数相加 给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点...

  • Swift - LeetCode - 两数相加(2)

    题目 两个数相加 问题: 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个...

  • Leetcode 1 两数相加

    题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返...

  • leetcode 1 两数相加

    java解法 解题思路:常规解法为,先选定一个元素,遍历数组去查找是否存在另一个元素,和这个元素相加等于总和,这样...

  • 2021-03-15极客时间打卡

    1、两数相加:https://leetcode-cn.com/problems/add-two-numbers/[...

  • LeetCode-2. 两数相加(Swift)

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-tw...

  • LeetCode 2. 两数相加(Swift)

    题目: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每...

  • leetcode - 2. 两数相加[Swift]

    题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存...

  • Python小白 Leetcode刷题历程 No.1-No

    Python小白 Leetcode刷题历程 No.1-No.5 两数之和、两数相加、无重复字符的最长子...

网友评论

    本文标题:Swift - LeetCode - 两数相加(1)

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