首页 > 其他 > 详细

LeetCode_20-Valid Parentheses

时间:2019-09-30 19:52:25      阅读:73      评论:0      收藏:0      [点我收藏+]

给定一个字符串,其中包含字符’(’,’)’,’[’,’]’,’{‘,’}’,左括号必须匹配右括号,一对匹配的括号不能单独出现单个左括号或者右括号。如:(()[])有效,[(])无效
空字符串也算是有效的。

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

技术分享图片

可关注公众号了解更多的面试技巧

LeetCode_20-Valid Parentheses

原文:https://www.cnblogs.com/yew0/p/11613915.html

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