标签:
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.
思路:利用栈来处理,判断右括号的情况
class Solution { public: bool isValid(string s) { stack<char> st; for (int i = 0; i < s.size(); i++) { if (s[i] == ')' || s[i] == ']' || s[i] == '}') { if (st.empty()) return false; else { char tmp = st.top(); st.pop(); if ((tmp == '(' && s[i] != ')') || (tmp == '[' && s[i] != ']') || (tmp == '{' && s[i] != '}')) return false; } } else st.push(s[i]); } if (!st.empty()) return false; return true; } };
标签:
原文地址:http://blog.csdn.net/u011345136/article/details/43636281