思路:加法自然要從最低位開始搞,那麼可以先把給定的鍊錶翻轉一下再處理,但是這樣做太麻煩了。用棧就可以了,注意進製問題。
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
while
(l2)
listnode *cur,
*nxt=
nullptr;if
(s1.
size()
size()
)swap
(s1,s2)
;int val,jw=0;
while
(!s1.
empty()
||!s2.
empty()
||jw)
return cur;}}
;
leetcode 鍊錶 445 兩數相加 II
給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。示例 輸入 7 2 4 3 5 6 4 ...
445 力扣之兩數相加
c 實現。中有注釋 題目鏈結 藉此參考 definition for singly linked list.struct listnode class solution while l2 null listnode node null 建立空結點 int over 0 用於大於10的數字的儲存 wh...
leetcode 445 兩數相加II(鍊錶)
給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。示例 輸入 7 2 4 3 5 6 4 ...