-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path423.h
More file actions
51 lines (48 loc) · 1.38 KB
/
423.h
File metadata and controls
51 lines (48 loc) · 1.38 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
41
42
43
44
45
46
47
48
49
50
51
class Solution {
public:
/*
* @param s: A string
* @return: whether the string is a valid parentheses
*/
bool isValidParentheses(string &s) {
// write your code here
// verson 1
// s += '#';
// stack<char> st;
// st.push('#');
// for(int i = 0; i < s.length(); i++){
// char c = st.top();
// if((c == '(' && s[i] == ')') ||
// (c == '[' && s[i] == ']') ||
// (c == '{' && s[i] == '}') ||
// (c == '#' && s[i] == '#')){
// st.pop();
// }
// else
// st.push(s[i]);
// }
// return st.empty();
// verson 2
stack<char> st;
for(int i = 0; i < s.length(); i++){
if(s[i] == '(' || s[i] == '[' || s[i] == '{')
st.push(s[i]);
if(s[i] == ')'){
if(st.empty() || st.top() != '(')
return false;
st.pop();
}
if(s[i] == ']'){
if(st.empty() || st.top() != '[')
return false;
st.pop();
}
if(s[i] == '}'){
if(st.empty() || st.top() != '{')
return false;
st.pop();
}
}
return st.empty();
}
};