当前位置:   article > 正文

C语言 | Leetcode C语言题解之第20题有效的括号

C语言 | Leetcode C语言题解之第20题有效的括号

题目:

题解:

  1. char pairs(char a) {
  2. if (a == '}') return '{';
  3. if (a == ']') return '[';
  4. if (a == ')') return '(';
  5. return 0;
  6. }
  7. bool isValid(char* s) {
  8. int n = strlen(s);
  9. if (n % 2 == 1) {
  10. return false;
  11. }
  12. int stk[n + 1], top = 0;
  13. for (int i = 0; i < n; i++) {
  14. char ch = pairs(s[i]);
  15. if (ch) {
  16. if (top == 0 || stk[top - 1] != ch) {
  17. return false;
  18. }
  19. top--;
  20. } else {
  21. stk[top++] = s[i];
  22. }
  23. }
  24. return top == 0;
  25. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/441271
推荐阅读
相关标签
  

闽ICP备14008679号