题目

https://leetcode-cn.com/problems/valid-parentheses/

方法

  1. // 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
  2. let isValid = function (s) {
  3. let arr = []
  4. // 单数肯定不是
  5. let len = s.length
  6. if (s % 2) return false
  7. for(let item of s){
  8. switch (item) {
  9. case "(":
  10. case "{":
  11. case "[":
  12. // 循环这个字符串,如果遇到左括号,就push进数组,题目,
  13. arr.push(item)
  14. break
  15. case ")":
  16. //遇到右括号就删掉最后那个元素。pop()方法用于删除并返回数组的最后一个元素。
  17. //如果是对应的右括号,则会跳出循环,继续执行下一个
  18. if (arr.pop() !== "(") return false;
  19. break;
  20. case "}":
  21. if (arr.pop() !== "{") return false;
  22. break;
  23. case "]":
  24. if (arr.pop() !== "[") return false;
  25. break;
  26. }
  27. }
  28. return !arr.length
  29. }