package java程序员面试笔试宝典;
public class 题8_8_1消除嵌套的括号 {
public static void main(String[] args) {
String str="(1,(2,3),(4,(5,6),7))";
String str1="(1,(2,3),(4,(5,6),7))";
String str2=null;
String str3="";
String str4="()()";
String str5="((1,(2,3),(4,(5,6),7))";
boolean flag=strChanger(str5);
System.out.println(flag);
}
public static boolean strChanger(String str){
if(str==null){
return false;
}
StringBuffer sb=new StringBuffer();
sb.append('(');
char[] chs=str.toCharArray();
int count=0;
for (int i = 0; i < chs.length; i++) {
if(chs[i]!='('&&chs[i]!=')'&&chs[i]!=','&&
!(chs[i]>='0'&&chs[i]<='9')){
return false;
}
if(chs[i]=='('){
if(i+1<chs.length&&chs[i+1]==','){
return false;
}
count++;
}else if(chs[i]==')'){
count--;
if(count<0||i+1<chs.length&&(!(chs[i+1]==')'||chs[i+1]==','))){
return false;
}
}else if(chs[i]==','){
if(i+1<chs.length&&chs[i+1]==')'){
return false;
}
sb.append(chs[i]);
}else{
sb.append(chs[i]);
}
}
if(count!=0){
return false;
}
sb.append(')');
System.out.println(sb);
return true;
}
}
如何消除嵌套的括号
猜你喜欢
转载自blog.csdn.net/m0_38068868/article/details/81739962
今日推荐
周排行