链表在 Golang 中没有变化



我的问题是,当我把指向head.next输入

时。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值的节点。

相关内容

  • 没有找到相关文章

最新更新