Valid Parentheses

来源:互联网 发布:淘宝美工课程介绍 编辑:程序博客网 时间:2024/06/02 02:25

【题目描述】

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.

【思路】

典型的利用stack进行符号匹配的题目,以前在学数据结构的时候就讲到过,要注意的一点的是题目要求中没有提到还有一种情况:{[}]

【代码】

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


0 0
原创粉丝点击