Check if a Parentheses String Can Be Valid LeetCode solution in Java

1
class Solution {
2
public boolean canBeValid(String s, String locked) {
3
int n = s.length();
4
if (n % 2 != 0) return false;
5

6
int possibleOpens = 0;
7
int fixedCloses = 0;
8

9
for (int i = 0; i < n; i++) {
10
if (s.charAt(i) == '(' || locked.charAt(i) == '0') {
11
possibleOpens++;
12
} else {
13
fixedCloses++;
14
}
15

16
if (fixedCloses > possibleOpens) return false;
17
}
18

19
int possibleCloses = 0;
20
int fixedOpens = 0;
21

22
for (int i = n - 1; i >= 0; i--) {
23
if (s.charAt(i) == ')' || locked.charAt(i) == '0') {
24
possibleCloses++;
25
} else {
26
fixedOpens++;
27
}
28

29
if (fixedOpens > possibleCloses) return false;
30
}
31

32
return true;
33
}
34
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0