20. Valid Parentheses【有效括号】_i++
20. Valid Parentheses【有效括号】_力扣_02

package LeetCode;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
System.out.println(isValid("()")?1:0);
System.out.println(isValid("()[]{}")?1:0);
System.out.println(isValid("(]")?1:0);
System.out.println(isValid("([)]")?1:0);
System.out.println(isValid("{[]}")?1:0);
}

public static boolean isValid(String s) {
int a = 0, b = 0, c = 0, j, k, l;

int n = s.length();

if (n == 0) {
return true;
} else if(n == 1) {
return false;
}

ArrayList<Integer> ar = new ArrayList<Integer>();

for (int i = 0; i < n; i++) {
switch (s.charAt(i)) {
case '(':
a++;
ar.add(1);
break;
case '{':
b++;
ar.add(2);
break;
case '[':
c++;
ar.add(3);
break;
case ')':
a--;
if (a < 0) {
return false;
}
j = ar.size();
if (ar.get(j-1) == 1) {
ar.remove(j-1);
} else {
return false;
}
break;
case '}':
b--;
if (b < 0) {
return false;
}
k = ar.size();
if (ar.get(k-1) == 2) {
ar.remove(k-1);
} else {
return false;
}
break;
case ']':
c--;
if (c < 0) {
return false;
}
l = ar.size();
if (ar.get(l-1) == 3) {
ar.remove(l-1);
} else {
return false;
}
break;
}
}

if(a!=0||b!=0||c!=0)
{
return false;
}

return true;
}
}