首页 > 其他 > 详细

20-有效的括号

时间:2020-08-05 11:14:03      阅读:71      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 主要是用栈的思想,c++里有栈的模板,可以直接调用。

思想:对字符每一项检查,如果是左括号就入栈,如果是右括号,先检查是否栈空,如果

栈空,肯定不行,接下来检查左右括号是否对应,入如果对应,就出栈;最后循环完检查

栈是否为空,如果非空,说明还有没有与之匹配的左括号,反之,则正好匹配完。

技术分享图片
class Solution {
public:
    bool isValid(string s) {
        stack<int> s1;
        for(int i=0;i<s.length();i++)
        {
            if(s[i]==‘(‘ || s[i]==‘{‘||s[i]==‘[‘)
            s1.push(s[i]);
           if(s[i]==‘)‘ || s[i]==‘}‘||s[i]==‘]‘)
           {   if( s1.empty())return false;
               char str=s1.top();
               if(s[i]==‘)‘&& str!=‘(‘ )return false;
               if(s[i]==‘]‘&& str!=‘[‘ )return false;
               if(s[i]==‘}‘&& str!=‘{‘ )return false;
               
               
                
              s1.pop();
               
           }
        }
        if(s1.empty())
        return true;
        return false;
        
        
    }
};
View Code

 

20-有效的括号

原文:https://www.cnblogs.com/baiaixing/p/13438353.html

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