亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

鏈表在 Golang 中不會改變

鏈表在 Golang 中不會改變

Go
烙印99 2023-04-04 15:35:15
我的問題是,當我將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)}
查看完整描述

1 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

這里是固定的:

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。


查看完整回答
反對 回復 2023-04-04
  • 1 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號