我需要為鏈表創建一個節點并在函數中返回頭部。每個節點的定義: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}現在函數返回一個字符串列表,每個字符串都應該分配給Val每個節點。(Val 是一個整數,現在列表是字符串,我稍后可以處理)。因此,我們的想法是使用 for 循環遍歷列表并創建節點并將它們在 for 內鏈接在一起。它看起來像這樣(addTwoNumbers返回前的內部): for _, element := range listsum{ }有沒有辦法做到這一點?
1 回答

青春有我
TA貢獻1784條經驗 獲得超8個贊
評論中提到的解決方案
// 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 關注
- 109 瀏覽
添加回答
舉報
0/150
提交
取消