leetcode之兩數相加Golang

2021-10-04 15:31:36 字數 790 閱讀 8645

/**

* definition for singly-linked list.

* type listnode struct

*/func addtwonumbers(l1 *listnode, l2 *listnode) *listnode

tail := head

begin:

if l1 != nil || l2 != nil || carry == 1 else

if l2 == nil else

tmpsum = tmpl1 + tmpl2 + carry

carry = tmpsum / 10

tmpsum %= 10

if flag else

// tail = head

// for tail.next != nil

tail.next = node

tail = tail.next

} goto begin

} else

}

1、第乙個問題是在產生返回的鍊錶的時候,總是只有第乙個節點,而沒有後面的結點,node1->nil

原因是在**中使用了head和tail的方法,思路是在將tail->next設定為新的值之後,再將tail指向他,可能是這個順序搞錯了

2、第二個問題是當兩個加數分別為5和5的時候,在第乙個條件判斷`if l1!=nil || l2!=nil || carry==1`這個地方,由於少加了最後乙個條件carry==1,那麼如果兩個加數都為5,得出的結果就是0了。

LeetCode之兩數相加

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

LeetCode之兩數相加

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

leetcode之兩數相加

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