@@ -100,54 +100,59 @@ For simplicity, you could assume the input code (including the any characters me
100
100
only contain letters, digits, '<','>','/','!','[',']' and ' '.
101
101
*/
102
102
public class _591 {
103
-
104
- /**Credit: https://discuss.leetcode.com/topic/91300/java-solution-use-startswith-and-indexof*/
105
- public boolean isValid (String code ) {
106
- Deque <String > stack = new ArrayDeque <>();
107
- for (int i = 0 ; i < code .length (); ) {
108
- if (i > 0 && stack .isEmpty ()) {
109
- return false ;
110
- }
111
- if (code .startsWith (", i )) {
112
- int j = i + 9 ;//"
113
- i = code .indexOf ("]]>" , j );
114
- if (i < 0 ) {
115
- return false ;
116
- }
117
- i += 3 ;//"]]>" length is 3
118
- } else if (code .startsWith ("" , i )) {
119
- int j = i + 2 ;
120
- i = code .indexOf (">" , j );
121
- if (i < 0 || i == j || i - j > 9 ) {
103
+
104
+ public static class Solution1 {
105
+
106
+ /**
107
+ * Credit: https://discuss.leetcode.com/topic/91300/java-solution-use-startswith-and-indexof
108
+ */
109
+ public boolean isValid (String code ) {
110
+ Deque <String > stack = new ArrayDeque <>();
111
+ for (int i = 0 ; i < code .length (); ) {
112
+ if (i > 0 && stack .isEmpty ()) {
122
113
return false ;
123
114
}
124
- for (int k = j ; k < i ; k ++) {
125
- if (!Character .isUpperCase (code .charAt (k ))) {
115
+ if (code .startsWith (", i )) {
116
+ int j = i + 9 ;//"
117
+ i = code .indexOf ("]]>" , j );
118
+ if (i < 0 ) {
126
119
return false ;
127
120
}
128
- }
129
- String s = code .substring (j , i ++);
130
- if (stack .isEmpty () || !stack .pop ().equals (s )) {
131
- return false ;
132
- }
133
- } else if (code .startsWith ("<" , i )) {
134
- int j = i + 1 ;
135
- i = code .indexOf (">" , j );
136
- if (i < 0 || i == j || i - j > 9 ) {
137
- return false ;
138
- }
139
- for (int k = j ; k < i ; k ++) {
140
- if (!Character .isUpperCase (code .charAt (k ))) {
121
+ i += 3 ;//"]]>" length is 3
122
+ } else if (code .startsWith ("" , i )) {
123
+ int j = i + 2 ;
124
+ i = code .indexOf (">" , j );
125
+ if (i < 0 || i == j || i - j > 9 ) {
126
+ return false ;
127
+ }
128
+ for (int k = j ; k < i ; k ++) {
129
+ if (!Character .isUpperCase (code .charAt (k ))) {
130
+ return false ;
131
+ }
132
+ }
133
+ String s = code .substring (j , i ++);
134
+ if (stack .isEmpty () || !stack .pop ().equals (s )) {
141
135
return false ;
142
136
}
137
+ } else if (code .startsWith ("<" , i )) {
138
+ int j = i + 1 ;
139
+ i = code .indexOf (">" , j );
140
+ if (i < 0 || i == j || i - j > 9 ) {
141
+ return false ;
142
+ }
143
+ for (int k = j ; k < i ; k ++) {
144
+ if (!Character .isUpperCase (code .charAt (k ))) {
145
+ return false ;
146
+ }
147
+ }
148
+ String s = code .substring (j , i ++);
149
+ stack .push (s );
150
+ } else {
151
+ i ++;
143
152
}
144
- String s = code .substring (j , i ++);
145
- stack .push (s );
146
- } else {
147
- i ++;
148
153
}
154
+ return stack .isEmpty ();
149
155
}
150
- return stack .isEmpty ();
151
156
}
152
157
153
158
}
0 commit comments