讨论社区

感觉leetcode对go语言不是很友好

0015cfcaebeb5211125c9af18a36831




0015cfcaef621a44d69262a77841342




如图,第一张是执行代码,编译器提示是解答正确,第二张图是提交,显示解答错误 . 可是问题是这两个情景是同一个case!


我会把代码贴在下面,做了几道题,这种情况出现了很多次!  感觉leetcode对go语言不是很友好


小伙伴门有遇到这种情况吗?

代码



package main

import "fmt"

type stackStruct struct {
   con  []string
   tail int
}

var stack *stackStruct

func init() {
   stack = new(stackStruct)
   stack.con = make([]string, 0)
   stack.tail = -1
}

func (s *stackStruct) push(item string) {
   s.con = append(s.con, item)
   s.tail++
}

func (s *stackStruct) pop() string {
   item := s.con[s.tail]
   s.con = s.con[:s.tail]
   s.tail--
   return item
}

func (s *stackStruct) isEmpty() bool {
   if len(s.con) == 0 {
      return true
   } else {
      return false
   }
}

func isValid(s string) bool {
   maps := map[string]string{
      "{": "}", "(": ")", "[": "]"}
   for i := 0; i < len(s); i++ {
      if !stack.isEmpty() {
         item := stack.pop()
         if maps[item] != string(s[i]) {
            stack.push(item)
            stack.push(string(s[i]))
         }
      } else {
         stack.push(string(s[i]))
      }
   }
   if stack.isEmpty() {
      return true
   } else {
      return false
   }
}

func main() {
   fmt.Println(isValid("{[]}"))
}



0 人关注了该问题 关注

0

776854974m • 2周前

非常抱歉给您带来了不便,我们有一台服务器的Go语言出现了异常,目前已经修复正常了,请您稍后再做尝试,再次感谢您对力扣的支持~


2 个讨论

  • d2a01b1667f44ded8d88d6a94b0b1ca8 • 发表于 2019年06月10日 下午 2:41

    我刚刚尝试了 还是一样的问题 没有解决

  • 776854974m • 发表于 2019年06月10日 下午 4:25

    您好,这是因为亲用了全局变量,请在每次调用的时候初始化,我们 不推荐 您使用他们。

您需要登录后才可回复
您需要登录后才可以回复