leetcode 445 兩數相加2

2021-10-05 00:23:20 字數 1134 閱讀 7284

class

solution

while

(l2)

int carry =0;

listnode* ans =

nullptr

;while

(!s1.

empty()

or!s2.

empty()

or carry !=0)

return ans;}}

;//leetcode-cn.com/problems/add-two-numbers-ii/solution/liang-shu-xiang-jia-ii-by-leetcode-solution/

遍歷鍊錶,把各位數字壓棧

依次取棧頂元素,相加,建立鍊錶節點,加入鍊錶

返回新煉表頭指標

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

return num;

} listnode*

addtwonumbers

(listnode* l1, listnode* l2)

elseif(

!num1.

empty()

)elseif(

!num2.

empty()

)//比如99 + 7

//sum % 10 + carry有可能大於9!!

//curr = new listnode(sum % 10 + carry); //錯誤寫法

int actual_sum = sum + carry;

curr =

newlistnode

(actual_sum %10)

; carry = actual_sum /10;

curr-

>next = ptr;

ptr = curr;

}//處理例如 5 + 5的情況,不然就丟掉了進製的1

if(carry !=0)

return ptr;}}

;

leetcode 445 兩數相加 II

給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。輸入 7 2 4 3 5 6 4 輸出 7 8 0 7 分別遍歷兩個鍊錶,將鍊錶代表的數存於a,b 根據a,b的和,用...

Leetcode445 兩數相加 II

給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。示例 輸入 7 2 4 3 5 6 4 ...

LeetCode 445 兩數相加II(Java)

給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 鍊錶不能修改該,換句話說,你不能對列表中的節點進行翻轉。示例 輸入 7 2 4 3 5 6 4 輸出 7 8 0...