題目:給出兩個非空的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存 一位數字。 如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。
題目分析:首先題目會給你2個鍊錶,2個鍊錶分別代表2個整數,但是鍊錶的每個節點只能存整數的乙個位數,並且還是按照逆序儲存。比如整數321,那麼存在鍊錶中就是1->2->3.如果2個數為261和321那麼返回的鍊錶就是2->8->5.但是有乙個最主要的問題就是溢位的問題 比如5和6和為11,顯然乙個節點已經不能儲存了,所以就得用乙個標記記錄進製的產生。
1、編寫乙個鍊錶節點類
public
static
class
listnode
}
val表示該節點上的數字,next表示連線到下一位。
2、編寫乙個輸入數字生成鍊錶的方法
通過while迴圈將整數的每個位的數字插入到鍊錶中去
public
static listnode inputnum
(int num)
//返回鍊錶
return listnode.next;
}
3、編寫乙個鍊錶輸出類如果當前節點不為空,則輸出該節點上的整數
public
static
void
printlistnode
(listnode listnode)
else
listnode = listnode.next;
}}
4、編寫演算法
public
static listnode addtwonumbers
(listnode l1, listnode l2)
if(l2 != null)
}return listnode.next;
}
5、編寫測試方法
LeetCode兩數相加題解
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...
LeetCode題解 兩數相加python實現
一 引言 深度學習知識及資源分享,學習交流,共同進步 在leetcode做演算法題時,並不需要寫輸入輸出,但是在實際線上筆試的時候,需要自己除錯。本文以煉表為例,講解鍊錶的插入以及鍊錶的輸出,還有鍊錶的定義。鍊錶 兩數相加 python語言實現 完整 如下所示,請參考 import sys 定義節點...
LeetCode題解002 兩數相加
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字 如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和 您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭 輸入 2 4 3 5 6 4 輸出 7 0...