2 兩數相加

2022-07-07 19:54:08 字數 756 閱讀 5246

一道較為簡單的鍊錶題,需要對鍊錶的建立較為熟悉。

唯一需要注意的是需要處理加和後的進製值,需要考慮以下三個方面:

鍊錶1和鍊錶2對應位進行加和時需要處理進製值

處理兩個鍊錶中較長的鍊錶時,當前位的值與前一位的進製值加和時需要處理進製值

兩個鍊錶的節點全部遍歷完後,若最終進製不為零,需單獨為該進製值往輸出鍊錶中新增乙個新的節點

時間複雜度:\(o(m+n)\),\(m\)和\(n\)分別為兩個鍊錶的長度。

class solution 

p->val = sum;

if (head == nullptr) head = tail = p; // 往鍊錶新增第乙個節點

else

l1 = l1->next;

l2 = l2->next;

}// 處理兩個鍊錶長度不同的情況

while (l1 != nullptr)

}tail->next = l1;

tail = l1;

l1 = l1->next;

}while (l2 != nullptr)

}tail->next = l2;

tail = l2;

l2 = l2->next;

}// 3. 兩個鍊錶的節點全部遍歷完後,若最終進製不為零,需單獨為該進製值往輸出鍊錶中新增乙個新的節點

if (carry)

return head;

}};

2 兩數相加

平均星級 4.45 239次評分 2018年2月2日 28.6k次 預覽 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 ...

2 兩數相加

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

2 兩數相加

給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807演算法 我們首先從最低有效位也就是列表 l1和...