兩數相加與反轉鍊錶

2021-10-22 14:35:16 字數 1508 閱讀 8247

給你兩個 非空 的鍊錶,表示兩個非負的整數。它們每位數字都是按照 逆序 的方式儲存的,並且每個節點只能儲存 一位 數字。

請你將兩個數相加,並以相同形式返回乙個表示和的鍊錶。

你可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。

/**

* definition for singly-linked list.

* type listnode struct

*/func

addtwonumbers

(l1 *listnode, l2 *listnode)

*listnode

midnode := res

num = l1.val + l2.val + tmp

tmp = num/

10 num = num%

10 res.val = num

l1=l1.next

l2=l2.next

for;l1!=

nil|| l2!=

nil;

else

if l1 !=

nilelse

tmp = num/

10 num = num%

10

tmpnode :=

&listnode

midnode.next = tmpnode

midnode = midnode.next

midnode.val = num

if l1 !=

nilif l2 !=

nil}

if tmp !=

0 midnode.next = tmpnode

midnode = midnode.next

midnode.val = tmp

}return res

}

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。

/**

* definition for singly-linked list.

* type listnode struct

*/func

reverselist

(head *listnode)

*listnode

pre :=

&listnode

pre =

nil pcu := head

pn := head.next

for;pcu.next !=

nil;

pcu.next = pre

return pcu

}補充**:

func

reverselist

(head *listnode)

*listnode

var pre *listnode

for head !=

nilreturn pre

}

兩數相加 鍊錶

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

兩煉表數相加

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

鍊錶兩數相加

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