Ninja technique🥷 to ACE DSA Interviews.
class Solution{
public:
bool isValid(string s){
stack<char> st;
int n = s.size();
if ((n & 1))
return false;
for (int i = 0; i < n; i++){
if (s[i] == '(' || s[i] == '[' || s[i] == '{'){
st.push(s[i]);
}
else{
if (st.empty()) return false;
if ((s[i] == ')' && st.top() == '(') || (s[i] == ']' && st.top() == '[') || (s[i] == '}' && st.top() == '{')){
st.pop();
}else{
st.push(s[i]);
}
}
}
return st.empty();
}
};
class Solution{
public:
bool isValid(string s){
stack<char> st;
int n = s.size();
if ((n & 1)) return false;
for (int i = 0; i < n; i++){
if (s[i] == '(' || s[i] == '[' || s[i] == '{'){
st.push(s[i]);
}
else{
if (st.empty() || (s[i] == ')' && st.top() != '(') || (s[i] == ']' && st.top() != '[') || (s[i] == '}' && st.top() != '{'))
return false;
st.pop();
}
}
return st.empty();
}
};
class Solution {
public:
bool isValid(string s) {
stack<char> st;
for(auto x: s){
if(x == '('||x == '['||x == '{')
st.push(x);
else{
if(st.empty())
return false;
char c = st.top();
st.pop();
if(c == '(' && x != ')')
return false;
if(c == '[' && x != ']')
return false;
if(c == '{' && x != '}')
return false;
}
}
return st.empty();
}
};