第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

類型 stack.Stack 沒有方法 Push

類型 stack.Stack 沒有方法 Push

Go
紅顏莎娜 2022-07-25 11:03:31
編寫堆棧包。package stacktype Stack struct {    data []interface{}}func (s *Stack) IsEmpty() bool {    return len(s.data) == 0}func (s *Stack) Push(item interface{}) {    s.data = append(s.data, item)    //fmt.Println(s.data, item)}func (s *Stack) Pop() interface{} {    if len(s.data) == 0 {        return nil    }    index := len(s.data) - 1    res := s.data[index]    s.data = s.data[:index]    return res}然后嘗試調(diào)用它package mainimport (    s "library/stack"    t "library/tree")func preorderTraversal(root *t.TreeNode) []int {    res := make([]int, 0)    if root == nil {        return res    }    // iterative    var stack *s.Stack    stack.Push(root)    // TODO: more logic    return res}func main() {    left := t.TreeNode{1, nil, nil}    right := t.TreeNode{2, nil, nil}    root := t.TreeNode{0, &left, &right}    fmt.Println(preorderTraversal(&root))}但我有一個錯誤stack.Push undefined (type *stack.Stack has no field or method Push)這里有什么問題?編輯:添加樹包只是為了方便package treetype TreeNode struct {    Val   int    Left  *TreeNode    Right *TreeNode}添加了基于 Cerise Limón play.golang.org/p/E4JXjc-Pd0i 的 goplayground 代碼
查看完整描述

1 回答

?
慕蓋茨4494581

TA貢獻1850條經(jīng)驗 獲得超11個贊

您肯定需要實例化stack變量,而不僅僅是創(chuàng)建一個nil指針。然后它應(yīng)該工作:

stack := &s.Stack{}
stack.Push(root)

注意:讓我有點困惑的是錯誤消息。當(dāng)我運行你的程序時,它會恐慌:panic: runtime error: invalid memory address or nil pointer dereference


查看完整回答
反對 回復(fù) 2022-07-25
  • 1 回答
  • 0 關(guān)注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號