用鍊錶模擬大整數加法運算

2021-06-21 11:41:02 字數 542 閱讀 6547

例如:9>9>9>null + 1>null =>

1>0>0>0>null

肯定是使用遞迴啦,不然沒辦法解決進製+1

問題,因為這時候要讓前面的節點加

1,而我們的單鏈表是永遠指向前的。

此外對於999+1=1000

,新得到的值的位數(

4位)比原來的兩個值(1個

1位,1個

3位)都多,所以我們將表頭的值設定為

0,如果多出一位來,就暫時存放到表頭。遞迴結束後,如果表頭為

1,就在新的鍊錶外再加乙個新的表頭。

//head1 length > head2, so m > n

public static int add(link head1, link head2, ref link newhead, int m, int n)

else // m == n

} 這裡假設head1

比head2

長,而且m、

n分別是

head1

和head2

的長度。

字串模擬 大整數加法

題目描述 求兩個不超過200位的非負整數的和。輸入 有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。輸出 一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。輸入樣例 22222222222222222222 3333333333333333...

用陣列模擬鍊錶

用陣列模擬單鏈表資料結構課本上的單鏈表演算法,在建立每個結點時都需要new乙個空間,new函式耗時長,當結點數較多時,每個結點都需要new,這樣的演算法在題中容易超時。利用陣列模擬單鏈表可以防止超時問題 826.單鏈表 實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k...

有鍊錶實現長整數的加法

課程題目 設計乙個程式實現兩個任意長的整數求和運算。要求 利用雙向迴圈鍊錶實現長整數的儲存,每個節點含有乙個整型變數。輸入形式按照中國對於長整數的表示習慣,沒四位一組,組間用逗號隔開。思路 為了達到上面的要求,我使用鍊錶將長整數按照四位一組進行輸入 每組用乙個int表示就可以了 然後對鍊錶中的數字進...