當前位置:
首頁 >
leetcode-445. 两数相加 II
發布時間:2023/12/4
36
豆豆
生活随笔
收集整理的這篇文章主要介紹了
leetcode-445. 两数相加 II
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你兩個 非空 鏈表來代表兩個非負整數。數字最高位位于鏈表開始位置。它們的每個節點只存儲一位數字。將這兩數相加會返回一個新的鏈表。
你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。
進階:
如果輸入鏈表不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。
示例:
輸入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 8 -> 0 -> 7
來源:力扣(LeetCode)
鏈接:leetcode-445. 兩數相加 II
思路:
1.將鏈表的數據放到vector數組中(按照鏈表的順序)
2.將vector中的數據從后向前一位一位相加,進位
3.并將相加得到的數,放到新的鏈表中去
代碼:
class Solution { public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {vector<int>s1;vector<int>s2;while(l1!=nullptr){s1.push_back(l1->val);l1=l1->next;}while(l2!=nullptr){s2.push_back(l2->val);l2=l2->next;}int carry=0;ListNode* ret=nullptr;while(s1.size()>0||s2.size()>0||carry>0){int sum=carry;if(s1.size()>0){int item=s1.back();s1.pop_back();sum=sum+item;}if(s2.size()>0){int item=s2.back();s2.pop_back();sum=sum+item;}ListNode* temp=new ListNode(sum%10);carry=sum/10;temp->next=ret;ret=temp;}return ret;} };總結
以上是生活随笔為你收集整理的leetcode-445. 两数相加 II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel学习使用教程
- 下一篇: leetcode--912--排序数组