-
Notifications
You must be signed in to change notification settings - Fork 91
/
Longest Valid Parentheses.cpp
46 lines (41 loc) · 1.07 KB
/
Longest Valid Parentheses.cpp
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
41
42
43
44
45
46
//Question link: https://leetcode.com/problems/longest-valid-parentheses/
//Please consider this under Hacktober Fest tag
class Solution {
public:
int longestValidParentheses(string s) {
int open=0; int close=0;
int maximum=0;
for(int i=0; i<s.length(); i++){
if(s[i]=='('){
open++;
}
else{
close++;
}
if(close==open){
int length= open+close;
maximum= max(length, maximum);
}
else if(close>open){
close=open=0;
}
}
open=close=0;
for(int i=s.length()-1; i>=0; i--){
if(s[i]=='('){
open++;
}
else{
close++;
}
if(close==open){
int length= open+close;
maximum= max(length, maximum);
}
else if(close<open){
close=open=0;
}
}
return maximum;
}
};