力扣20. 有效的括号

Problem: 20. 有效的括号

题目描述

在这里插入图片描述在这里插入图片描述

思路

1.每次遇到左括号将其压入栈顶;
2.遇到右括号:

2.1.先判断当前栈是否为空,若为空则说明不合法;
2.2.弹出当前栈顶元素与当前的右括号配对,若不相互配对,则不合法;

3.最后判读栈是否为空,为空则合法,否则不合法.

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为字符串s的长度

空间复杂度:

O ( n ) O(n) O(n)

Code

class Solution {
public:
    /**
     * Valid bracket
     *
     * @param s The given parenthesis string
     * @return bool
     */
    bool isValid(string s) {
        stack<char> stack;
        int len = s.length();
        for (int i = 0; i < len; ++i) {
            if (s[i] == '(' || s[i] == '[' || s[i] == '{') {
                stack.push(s[i]);
            } else {
                if (stack.empty()) {
                    return false;
                } else {
                    char temp = stack.top();
                    stack.pop();
                    if (s[i] == ')' && temp != '(') {
                        return false;
                    }
                    if (s[i] == ']' && temp != '[') {
                        return false;
                    }
                    if (s[i] == '}' && temp != '{') {
                        return false;
                    }
                }
            }
        }
        return stack.empty() ? true : false;
    }
};

相关推荐

  1. | 20. 有效括号

    2024-04-08 13:40:01       36 阅读
  2. 100】20.有效括号 || 栈

    2024-04-08 13:40:01       41 阅读
  3. 刷题练习】20. 有效括号

    2024-04-08 13:40:01       33 阅读
  4. 刷题之20.有效括号

    2024-04-08 13:40:01       17 阅读
  5. 【数据结构与算法】 20. 有效括号

    2024-04-08 13:40:01       10 阅读
  6. 题目学习笔记(OC + Swift)20. 有效括号

    2024-04-08 13:40:01       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-08 13:40:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-08 13:40:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-08 13:40:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-08 13:40:01       18 阅读

热门阅读

  1. 利用hdfs gateway挂载NFS到本地

    2024-04-08 13:40:01       10 阅读
  2. GitOps是DevOps的下一个风口吗?

    2024-04-08 13:40:01       13 阅读
  3. FDA 上市库 Mini | 药物筛选 | MCE

    2024-04-08 13:40:01       14 阅读
  4. HyperBus协议--HyperFLASH中Program Suspend 功能的理解

    2024-04-08 13:40:01       11 阅读
  5. 3.9 Python格式化字符串

    2024-04-08 13:40:01       9 阅读
  6. 蓝桥杯练习题 —— 圆的面积(python)

    2024-04-08 13:40:01       11 阅读
  7. abc348 D~F题解

    2024-04-08 13:40:01       13 阅读
  8. wpf Validation.ErrorTemplate

    2024-04-08 13:40:01       10 阅读