leecode第二題(兩數相加)

2022-09-07 23:06:22 字數 1008 閱讀 6794

為了不干預原指標,我分別設了fir,sec,thr三個臨時指標

while (fir != null || sec !=null)

if (sec !=null)

listnode* cur = new listnode(0);//

設了個新節點

cur->val = (thr->val + a + b) / 10

; thr->val = (thr->val + a + b) % 10

;

if (fir == null && sec == null && cur->val == 0)//

如果接下來沒有數要加了,那就是最頂位為0,為了不讓顯示,我就直接跳出了,這個事當時噁心到我了

break

; thr->next =cur;

thr =cur;

}return

p; }

};分析:考察鍊錶和程式設計能力

這個時間複雜度為o(max(m,n)),空間複雜度也是o(max(m,n))

總結:程式設計還是不夠熟練,迴圈裡兩個if沒有第一時間想到,還有為了讓頂位為0不顯示,我居然寫了好幾遍,尷尬。

第二題 兩數相加

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...

兩數相加leecode

兩數相加 給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。輸入 2 4 3 5 6 4 輸...

Leetcode 第二題 兩數相加

給出兩個非空的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 ...