20. 有效的括号

image.png

  1. package main
  2. import "fmt"
  3. func isValid(s string) bool {
  4. m :=map[string]string{")":"(","}":"{","]":"["}
  5. stack := make([]string,0)
  6. for i :=range s{
  7. x := string(s[i])
  8. if x=="("||x=="{"||x=="[" {
  9. stack = append(stack,x)
  10. }else if x==")" || x=="}" || x=="]" {
  11. if len(stack)>0&&stack[len(stack)-1]==m[x] {
  12. stack = stack[:len(stack)-1]
  13. }else {
  14. return false
  15. }
  16. }
  17. }
  18. return len(stack)==0
  19. }
  20. func main() {
  21. //fmt.Println(isValid("()"))
  22. //fmt.Println(isValid("([)]"))
  23. fmt.Println(isValid("()[]{}"))
  24. fmt.Println(isValid("]"))
  25. }

image.png