T445 兩數相加

2021-10-24 05:14:37 字數 433 閱讀 2324

思想既然不讓直接逆置鍊錶,則借助stack進行翻轉,然後再按從低位開始計算,並將計算後的結果存入長鍊表節點中,這裡需要額外注意:1、需要對短鍊錶中的元素要進行特殊處理因為有可能它此時為null 2、另外還需要對最高位的進製進行處理

時間複雜度o(n) 空間複雜度o(m+n) m:短鍊表的長度 n:長鍊表的長度

class solution 

while(l2!=null)

linkedlistlonglist = (stack1.size()>=stack2.size())?stack1:stack2;

linkedlistshortlist = (stack1.size()0)

return temphead.next;

}}

445 兩數相加 II

這種題的用例是一定會搞一些很大的數的。long都會溢位,所以我們就不用嘗試轉數字做加法轉鍊錶的方法了。另外直接倒置兩個鍊錶再做加法的做法會改變原鍊錶,題幹也說了禁止改動原鍊錶。1.求兩個鍊錶長度,如果一長一短,把短的前面加若干個0節點,使得兩個鍊錶長度相同。之後對於就遞迴連線鍊錶。dfs函式引數為前...

445 兩數相加 II

演算法 由於鍊錶資料相加是逆序的,可以通過棧來儲存鍊錶資料,棧是先進後出,順序就變成了從末位相加,其實本題難度不大,就是不太容易想到使用棧來存資料計算。definition for singly linked list.public class listnode class solution tem...

445 兩數相加 II

445.兩數相加 ii 2.兩數相加 的擴充套件 definition for singly linked list.public class listnode class solution if c 0 return reverselist dummy.next 易錯點 優化 插入新煉表時可以採用...