20. Valid Parentheses
Given a string s
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.
Example 1:
Input: s = "()"
Output: true
Example 2:
Input: s = "()[]{}"
Output: true
Example 3:
Input: s = "(]"
Output: false
Constraints:
1 <= s.length <= 104
s
consists of parentheses only'()[]{}'
.
my code
#include<iostream>
#include<stack>
using namespace std;
bool isValid(string s) {
stack<char> st;
for (int i = 0; i < s.length(); i++)
{
if (s[i] == '(' || s[i] == '{' || s[i] == '[')
st.push(s[i]);
if (!st.empty())
{
if (s[i] == ')')
{
if (st.top() == '(')
{
st.pop();
continue;
}
else
break;
}
//
if (s[i] == '}')
{
if (st.top() == '{')
{
st.pop();
continue;
}
else
break;
}
//
if (s[i] == ']')
{
if (st.top() == '[')
{
st.pop();
continue;
}
else
break;
}
}
else
return false;
}
return st.empty() ? true : false;
}
int main()
{
string s;
cin >> s;
cout << isValid(s) << "\n";
return 0;
}
No comments:
Post a Comment