题解 | #牛群的秘密通信#

牛群的秘密通信

https://www.nowcoder.com/practice/f0047999594d4cd39f85d7347c6941af

考察知识点:

题目分析:

 当栈中有元素并且栈顶元素现在所访问的字符相匹配即可将栈顶元素出栈,否则将这个字符入栈。在访问完所有的字符后,如果栈中还剩下几个元素,那么说明没有匹配成功,否则说明匹配成功。

所用编程语言: C++

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @return bool布尔型
     */
    bool is_valid_cow_communication(string s) {
        // write code here
        int size = s.size();
        if (!size) return false;
        stack<char> stk;
        stk.push(s[0]);
        for (int i = 1; i < size; i++) {
            if (!stk.empty()) {
                if (stk.top() == '(' && s[i] == ')'
                || stk.top() == '{' && s[i] == '}'
                || stk.top() == '[' && s[i] == ']'
                ) {
                    stk.pop();
                    continue;
                }
            }
            stk.push(s[i]);
        }
        if (stk.empty()) return true;
        return false;
    }
};

全部评论

相关推荐

牛客316659795号:不是,证明hr初筛已经过了,要投给部门筛一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务