栈(括号匹配问题)

20. Valid Parentheses

题目地址:https://leetcode.com/problems/valid-parentheses/

题意:

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

今天看到一种解法,使用的stl,比我自己写的简单好多好多。

class Solution {
public:
    bool isValid(string s) {
       string left = "([{";
       string right = ")]}";
       stack<char> stk;
       for(auto c:s){
           if(left.find(c)!=string::npos){
               stk.push(c);
           }
           else{
               if(stk.empty()||stk.top()!=left[right.find(c)])
                    return false;
               else
                    stk.pop();
           }
       }
       return stk.empty();
    }
};
    原文作者:括号匹配问题
    原文地址: https://blog.csdn.net/patkritLee/article/details/52641330
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞