Swift - LeetCode - 兩數(shù)相加(1)

題目

兩個數(shù)相加

問題:

給出兩個 非空 的鏈表用來表示兩個非負的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲的,并且它們的每個節(jié)點只能存儲 一位 數(shù)字。如果,我們將這兩個數(shù)相加起來,則會返回一個新的鏈表來表示它們的和。您可以假設除了數(shù)字 0 之外,這兩個數(shù)都不會以 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
    }
    
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 一些概念 數(shù)據(jù)結(jié)構就是研究數(shù)據(jù)的邏輯結(jié)構和物理結(jié)構以及它們之間相互關系,并對這種結(jié)構定義相應的運算,而且確保經(jīng)過這...
    Winterfell_Z閱讀 6,603評論 0 13
  • 搞懂單鏈表常見面試題 Hello 繼上次的 搞懂基本排序算法,這個一星期,我總結(jié)了,我所學習和思考的單鏈表基礎知識...
    醒著的碼者閱讀 4,733評論 1 45
  • 引言:用Js攻略leetcode中的算法,將會介紹自己的思路和注意點,一邊學習一邊愉快刷題呀。 問題1: 給定兩個...
    mooory閱讀 1,661評論 0 0
  • 我媽對我說的 好好學習 好好吃飯 早點睡覺 按時吃藥 爭取做個會計 我特么一個都做不到。 我可能是個廢物 我想打我自己。
    一碟兒閱讀 167評論 1 1
  • (一) 從前有個死肥宅,他特別特別愛喝可樂,他將可樂視之為生命,少了和可樂在一起的一天都不行。 他傷心難過的時候要...
    治愈怪物閱讀 981評論 0 2

友情鏈接更多精彩內(nèi)容