20.go 445 B

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