image.png

括号是否合法 No.20

  1. func isValid(s string) bool {
  2. m := map[string]string{
  3. ")":"(",
  4. "]":"[",
  5. "}":"{",
  6. }
  7. stack := make([]string, 0)
  8. for _, c := range s {
  9. if _, ok := m[string(c)]; !ok {
  10. stack = append(stack, string(c))
  11. } else if len(stack) ==0 || m[string(c)] != stack[len(stack)-1] {
  12. return false
  13. } else {
  14. stack = stack[:len(stack)-1]
  15. }
  16. }
  17. return len(stack) == 0
  18. }

用栈实现队列 No.232

用队列实现栈 No.225