題? ? 目
【資料圖】
給你兩個非空的鏈表,表示兩個非負的整數(shù)。它們每位數(shù)字都是按照逆序的方式存儲的,并且每個節(jié)點只能存儲一位數(shù)字。
請你將兩個數(shù)相加,并以相同形式返回一個表示和的鏈表。
你可以假設(shè)除了數(shù)字 0 之外,這兩個數(shù)都不會以 0 開頭。
樣? ? 例
示例 1:
輸入:l1 = [2,4,3], l2 = [5,6,4]
輸出:[7,0,8]
解釋:342 + 465 = 807.
示例 2:
輸入:l1 = [0], l2 = [0]
輸出:[0]
示例 3:
輸入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
輸出:[8,9,9,9,0,0,0,1]
解決方案一
遵循加法法則,設(shè)置進位項,從低位到高位逐位相加
1568/1568 cases passed (32 ms)
Your runtime beats % of cpp submissions
Your memory usage beats % of cpp submissions
解決方案二
利用遞歸將對應(yīng)位數(shù)相加,最后添加進位項。
1568/1568 cases passed (56 ms)
Your runtime beats % of cpp submissions
Your memory usage beats % of cpp submissions
總結(jié)
REVIEW
兩數(shù)相加的較為基礎(chǔ),核心就是掌握相加的規(guī)律,方案一使用的是常規(guī)的思想,從低位到高位,對應(yīng)數(shù)值相加并加上進位,即可得到相加之后的結(jié)果,但是代碼雖然簡單易懂,但是較為繁瑣。方案二使用的是迭代,將對應(yīng)位數(shù)相加和低位進位項分開進行,先進行數(shù)值相加,再加上進位,代碼更加簡潔。
THOUSAND TIMES
END
歡迎關(guān)注公眾號
我會分享更多有趣的知識
關(guān)鍵詞: