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

牛群的秘密通信

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;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
想按时下班的大菠萝在...:隔壁学校的,加油多投, 实在不好找可以下个学期开学找,把算法八股准备好,项目有空再换换
投了多少份简历才上岸
点赞 评论 收藏
分享
06-25 16:25
梧州学院 Java
愿汐_:项目介绍那么长,然而你做了啥就一句话?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务