Valid Parentheses LeetCode Solution
·1 min
leetcode
Table of Contents
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
Example 4:
Input: s = “([)]” Output: false
Example 5:
Input: s = “{[]}” Output: true
Constraints:
1 <= s.length <= 104
s
consists of parentheses only'()[]{}'
.
Link: https://leetcode.com/problems/valid-parentheses/
Solution using stack>
Solution using stack #
class Solution {
public:
bool isValid(string s) {
stack
// using stack to solve this problem helps us to respect the relative placement of brackets
for(int i=0;i<s.length();i++) {
char top = st.empty() ? '#' : st.top();
if(top == '(' && s\[i\] == ')') {
st.pop();
}else if(top == '{' && s\[i\] == '}') {
st.pop();
}else if(top == '\[' && s\[i\] == '\]') {
st.pop();
}else{
st.push(s\[i\]);
}
}
return st.empty();
}
};