寫下leetCode,每天兩道,帶上圖,題目來源leetCode
文章目錄
- 題目-2兩數相加(來源:leetCode)
- 圖
- 代碼
- demo下載路徑
- 參考
題目-2兩數相加(來源:leetCode)

圖




代碼
public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode dummyHead = new ListNode(0);
ListNode cur = dummyHead;
int carry = 0;
while(l1 != null || l2 != null)
{
int sum = carry;
if(l1 != null)
{
sum += l1.val;
l1 = l1.next;
}
if(l2 != null)
{
sum += l2.val;
l2 = l2.next;
}
// 創建新節點
carry = sum / 10;
cur.next = new ListNode(sum % 10);
cur = cur.next;
}
if (carry > 0) {
cur.next = new ListNode(carry);
}
return dummyHead.next;
}
時間復雜度:O(\max(m,n)),其中 m 和 n 分別為兩個鏈表的長度,我們要遍歷兩個鏈表的全部位置,而處理每個位置只需要 O(1) 的時間,
空間復雜度:O(1),注意回傳值不計入空間復雜度,
demo下載路徑
碼云

參考
出處
https://leetcode-cn.com/problems/add-two-numbers/
參考
https://github.com/MisterBooo/LeetCodeAnimation/tree/master/0002-Add-Two-Numbers
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286249.html
標籤:其他
