删除字符串中b和ac,保证删除后的结果不包含b和ac
解题方法:栈
public static void main(String[] args) {
// String str="acbac";
// String str="aaaac";
String str="ababc";
String subString = getSubString(str);
System.out.println("删除以后的字符串:"+subString);
}
public static String getSubString(String str){
Stack<Character> stack=new Stack<>();
for(int i=0;i<str.length();i++){
char c = str.charAt(i);
if(c=='b'){
continue;
}
if(stack.isEmpty()){
stack.push(c);
continue;
}
Character peek = stack.peek();
if(c=='c'){
if(peek=='a'){
stack.pop();
}else{
stack.push(c);
}
}else{
stack.push(c);
}
}
StringBuilder sb=new StringBuilder();
while(stack.size()>0){
Character peek2= stack.peek();
sb.append(peek2);
stack.pop();
}
return sb.reverse().toString();
}