gpt4 book ai didi

go - 链表在 Golang 中不会改变

转载 作者:数据小太阳 更新时间:2023-10-29 03:21:59 25 4
gpt4 key购买 nike

我的问题是,当我将 head 指向 head.next

input.Val 仍然是 1 而不是 2(这是下一个值)。

type ListNode struct {
Val int
Next *ListNode
}

func test(head *ListNode) *ListNode {
head = head.Next
return head
}

func main() {

var input, input2 ListNode
input = ListNode{Val: 1, Next: &input2}}
input2 = ListNode{Val: 2}

test(&input)
fmt.Println(input.Val)
}

最佳答案

这里是固定的:

https://play.golang.org/p/VUeqh71nEaN

package main

import (
"fmt"
)

type ListNode struct {
Val int
Next *ListNode
}

func test(head *ListNode) *ListNode {
head = head.Next
return head
}

func main() {

var input1, input2 ListNode
input1 = ListNode{Val: 1, Next: &input2}
input2 = ListNode{Val: 2, Next: &input1}

input := test(&input1)
fmt.Println(input.Val)
}

输出

2

问题是您没有使用 test 函数的返回值,并且您传递了一个没有 Next 值的节点。

关于go - 链表在 Golang 中不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52345395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com