题目:
移除字符串中连续出现的K个0
思路:
1.正则表达式
2.扫描字符数组
package 字符串问题;
public class case09_去掉连续出现的k个0 {
public static void main(String[] args) {
//Assertions.assertThat(remove2("100001",3)).isEquals("101");
String s="10010001";
String res=remove2(s,3);
System.out.println(res);
}
//正则表达式 0{3}
private static String remove(String s,int k) {
String s1="0{"+k+"}";
return s1.replace(s1,"");
}
//字符串转换为字符数组
private static String remove2(String s,int k) {
char[] c=s.toCharArray();
int count=0;
StringBuilder sb=new StringBuilder();
for(int i=0;i<c.length;i++){
char a=c[i];
if(a=='0'){
count++;
}else{
for(int j=0;j<count%k;j++){
sb.append('0');
}
sb.append(a);
count=0;
}
}
return sb.toString();
}
}