Given a string containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()" Output: true
class Solution { public: bool isValid(string s) { stack<char> sta; map<char, char> mp; mp['('] = ')'; mp['['] = ']'; mp['{']='}'; int n = s.size(); for(int i=0; i<n; i++) { if(s[i] == '(' || s[i] == '[' || s[i] == '{') sta.push(s[i]); if(s[i] == ')' || s[i] == ']' || s[i] == '}') if(sta.empty() || s[i] != mp[sta.top()]) return false; else sta.pop(); } if(sta.empty()) return true; else return false; } };