package interview;
/*
* 判断字符串括号是否闭合
*/
public class StringClose {
public static void main(String[] args) {
String s = "sd{78]sdf[}sddf";
String s1="{1sdf}[sdf][[(sdf)]]";
System.out.println(whetherStringClose(s1));
}
public static boolean whetherStringClose(String str) {
int parenthesesNums=0;//小括号数量
int bracketsNums = 0;//中括号数量
int bracesNums = 0;//大括号数量
for(int i=0;i<str.length();i++) {
char c = str.charAt(i);
if(c=='{') {
bracesNums+=1;
}
if(c=='[') {
bracketsNums+=1;
}
if(c=='(') {
parenthesesNums+=1;
}
if(c=='}') {
bracesNums-=1;
}
if(c==']') {
bracketsNums-=1;
}
if(c==')') {
parenthesesNums-=1;
}
if(parenthesesNums<0 || bracesNums<0||bracketsNums<0) {
break;
}
}
if(parenthesesNums!=0 || bracesNums!=0|| bracketsNums!=0) {
return false;
}else {
return true;
}
}
}