首页 > 其他 > 详细

有效括号

时间:2021-03-06 23:48:11      阅读:26      评论:0      收藏:0      [点我收藏+]

给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
 

示例 1:

输入:s = "()"
输出:true
示例 2:

输入:s = "()[]{}"
输出:true

 

#include <stack>
#include <string>
#include <iostream>

using namespace std;

class Solution {
public:
    bool isValid(string s) {
        stack<char> st;
        for (int i = 0; i < s.size(); ++i) {
            if (s[i] == ( || s[i] == { || s[i] == [)
                st.push(s[i]);
            else {
                if (st.empty())
                    return false;
                if (s[i] == ) && st.top() != ()
                    return false;
                else if (s[i] == ] && st.top() != [)
                    return false;
                else if (s[i] == } && st.top() != {)
                    return false;
                else
                    st.pop();
            }
        }
        return st.empty();
    }
};

 

有效括号

原文:https://www.cnblogs.com/zhangzhangtabszj/p/14491886.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!