题解 | 有效括号序列

有效括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

C++ ①左括号入栈(if else)

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

②右括号入栈(case)

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        // write code here
        stack<char> a;
        if (s.size()%2) return false;        
        else {
            for (int i=0; i<s.size(); ++i) {
                switch (s[i]) {
                    case '[': a.push(']'); break; // 可以没{},但是一定要break
                    case '(': a.push(')'); break;
                    case '{': a.push('}'); break;
                    default: // case 后面只能判断常量 const变量也不行
                        if (a.size() && (a.top()==s[i])) a.pop();
                        else return false;
                        break;
                }                
            }
        }   
        if (a.empty()) return true;     
        else return false;
    }    
};

全部评论

相关推荐

08-14 16:48
门头沟学院 Java
字节我求你别面我了,把我从人才库里捞起来再挂掉。。。我也很受打击,很绝望好嘛
码农索隆:面试官:“这小子讷啊,这小子挂这么多次,我倒要面面,看看怎么个事”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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