-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvaildparentheses.cpp
More file actions
40 lines (37 loc) · 1.01 KB
/
vaildparentheses.cpp
File metadata and controls
40 lines (37 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<iostream>
#include<stack>
using namespace std;
bool isValidParenthesis(string expression)
{
// Write your code here.
stack<char>s;
for(int i=0;i<expression.length();i++){
char ch = expression[i];
// if opening brackets - stackpush
// if closing brckets - stacktop check and pop
if(ch =='(' || ch=='{' || ch=='['){
s.push(ch);
}
else{
// for closing brackets
//check stack is empty or not
if(!s.empty()){
char top = s.top();
if((ch ==')' && top =='(') || (ch =='}' && top =='{')|| (ch ==']' && top =='[')){
s.pop();
}
else{
return false;
}
}
else{
return false;
}
}
}
if(s.empty())
return true;
else
return false;
}
//Time complexity: O(n)