首页 > 其他 > 详细

LeetCode_20-Valid Parentheses

时间:2019-09-30 19:52:25      阅读:70      评论: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 版权所有
打开技术之扣,分享程序人生!