leetcode2 兩數相加

2022-09-18 22:57:14 字數 988 閱讀 5530

題目描述

給你兩個非空的鍊錶,表示兩個非負的整數。它們每位數字都是按照逆序的方式儲存的,並且每個節點只能儲存 一位 數字。

請你將兩個數相加,並以相同形式返回乙個表示和的鍊錶。

你可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。

示例

輸入:l1 = [2,4,3], l2 = [5,6,4]

輸出:[7,0,8]

解釋:342 + 465 = 807.

題目分析

加法運算,其中每個鍊錶表示乙個整數,以逆序儲存,也就是說鍊錶的head表示個位,按順序遍歷鍊錶已是對齊狀態,只需要考慮進製即可

解法1

鍊錶可能不一樣長,迴圈遍歷鍊錶對應部分,相加,存入result鍊錶,考慮進製問題,然後將剩餘部分放入result內,同時也需要考慮進製問題。最後還個小細節,什麼時候我們需要提前new出next?就是還有下乙個數需要放的時候,如果直接new出next不考慮條件,則結果尾部會多出乙個0,時間複雜度o(n)。

/**

* definition for singly-linked list.

* public class listnode

* listnode(int val)

* listnode(int val, listnode next)

* } */

class

solution

l1 =l1.next;

l2 =l2.next;

}while (null !=l1)

l1 =l1.next;

}while (l2 != null

) l2 =l2.next;

}return

result;

}}

LeetCode2 兩數相加

嗯。今天兩個簡單題,我可能要墮落了 先貼第乙個 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8原因 342 465 807...

LeetCode 2 兩數相加

題目 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 解題 這題就比較簡單了,兩數相加處理好...

LeetCode 2 兩數相加

題目描述 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。題目思路 先從最低有效位也就是列表 l1 和 l2 的表頭開始相加。由於每位數字都應當處於 0 9 的範圍內,我們計算...