File tree Expand file tree Collapse file tree 4 files changed +88
-0
lines changed Expand file tree Collapse file tree 4 files changed +88
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool isValid (string s) {
4
+ stack<char > stack;
5
+
6
+ for (char c : s){
7
+ // stack topとのチェック
8
+ if (!stack.empty () && isPair (stack.top (), c)){
9
+ stack.pop ();
10
+ }else {
11
+ stack.push (c);
12
+ }
13
+ }
14
+ return stack.empty ();
15
+ }
16
+
17
+ bool isPair (char l, char r){
18
+ return (l == ' (' && r == ' )' || l == ' {' && r == ' }' || l == ' [' && r == ' ]' );
19
+ }
20
+ };
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool isValid (string s) {
4
+ stack<char > stack;
5
+
6
+ for (char c : s){
7
+ if (!stack.empty () && isPair (stack.top (), c)){
8
+ stack.pop ();
9
+ }else {
10
+ stack.push (c);
11
+ }
12
+ }
13
+ return stack.empty ();
14
+ }
15
+
16
+ bool isPair (char l, char r){
17
+ return (l == ' (' && r == ' )' || l == ' {' && r == ' }' || l == ' [' && r == ' ]' );
18
+ }
19
+ };
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool isValid (string s) {
4
+ stack<char > stack;
5
+
6
+ for (char c: s){
7
+ if (!stack.empty () && isPair (stack.top (), c)){
8
+ stack.pop ();
9
+ }else {
10
+ stack.push (c);
11
+ }
12
+ }
13
+
14
+ return stack.empty ();
15
+ }
16
+
17
+ bool isPair (char l, char r){
18
+ return (l == ' {' && r == ' }' || l == ' (' && r == ' )' || l == ' [' && r == ' ]' );
19
+ }
20
+ };
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool isValid (string s) {
4
+ stack<char > stack;
5
+
6
+ if (s[0 ] == ' )' || s[0 ] == ' }' || s[0 ] == ' ]' ){
7
+ return false ;
8
+ }
9
+
10
+ for (char c : s){
11
+ if (!stack.empty () && isInvalidPair (stack.top (), c)){return false ;}
12
+
13
+ if (c != ' (' && c != ' {' && c != ' [' && !stack.empty () && isPair (stack.top (), c)){
14
+ stack.pop ();
15
+ }else {
16
+ stack.push (c);
17
+ }
18
+ }
19
+ return stack.empty ();
20
+ }
21
+
22
+ bool isPair (char l, char r){
23
+ return (l == ' (' && r == ' )' || l == ' {' && r == ' }' || l == ' [' && r == ' ]' );
24
+ }
25
+
26
+ bool isInvalidPair (char l, char r){
27
+ return (l == ' (' && (r == ' }' || r == ' ]' )) || (l == ' {' && (r == ' )' || r == ' ]' )) || (l == ' [' && (r == ' }' || r == ' )' ));
28
+ }
29
+ };
You can’t perform that action at this time.
0 commit comments