我需要為鏈表創(chuàng)建一個(gè)節(jié)點(diǎn)并在函數(shù)中返回頭部。每個(gè)節(jié)點(diǎn)的定義:type ListNode struct { Val int Next *ListNode}這是功能:func addTwoNumbers(l1 *ListNode, l2 *ListNode) []string { calculateValue := func(l *ListNode) int { var sumsum int element := l weight := 1 for element != nil { sumsum = sumsum + element.Val*weight weight = weight * 10 element = element.Next } return sumsum } numstr := strconv.Itoa(calculateValue(l1) + calculateValue(l2)) listsum := strings.Split(numstr, "") return listsum}現(xiàn)在函數(shù)返回一個(gè)字符串列表,每個(gè)字符串都應(yīng)該分配給Val每個(gè)節(jié)點(diǎn)。(Val 是一個(gè)整數(shù),現(xiàn)在列表是字符串,我稍后可以處理)。因此,我們的想法是使用 for 循環(huán)遍歷列表并創(chuàng)建節(jié)點(diǎn)并將它們?cè)?for 內(nèi)鏈接在一起。它看起來像這樣(addTwoNumbers返回前的內(nèi)部): for _, element := range listsum{ }有沒有辦法做到這一點(diǎn)?
1 回答

青春有我
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
評(píng)論中提到的解決方案
// create head with the value from first element
head := &ListNode{ Val: listSum[0] }
tail := head
// range remaining values
for _, sum := range listSum[1:] {
node := &ListNode{ Val: sum }
tail.Next = node // append node to list
tail = node // change tail pointer to currently added node
}
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報(bào)
0/150
提交
取消