6.go 593 B

123456789101112131415161718192021222324252627282930313233
  1. package main
  2. import (
  3. "strings"
  4. "fmt"
  5. "math"
  6. )
  7. var m_brac = map[rune]rune {
  8. '}': '{',
  9. ']': '[',
  10. ')': '(',
  11. }
  12. func isValid(s string) bool {
  13. // store all brackets
  14. slice := make([]rune, 0)
  15. for _, v := range s {
  16. if len(slice) == 0 {
  17. slice = append(slice, v)
  18. continue
  19. }
  20. // not match
  21. if slice[len(slice)-1] != m_brac[v] {
  22. slice = append(slice, v)
  23. // match
  24. } else {
  25. slice = slice[:len(slice)-1]
  26. }
  27. }
  28. if len(slice) != 0 { return false }
  29. return true
  30. }