去掉字符串中连续出现k个0的子串
程序员文章站
2022-03-21 19:29:00
...
//去掉字符串中连续出现k个0的子串
public class RemoveKZeros{
//返回去掉k个0后的字符串
public static String removeKZeros(String str,int k)
{
if(str==null||k<1)
{
return str;
}
//字符串转换成数组
char[]ch=str.toCharArray();
int count=0;//记录0出现的次数
int start=-1; //记录0出现的位置
for(int i=0;i!=ch.length;i++)
{
if(ch[i]=='0')
{
count++;
start=start==-1?i:start;
}else{
if(count==k)
{
while(count--!=0)
{
ch[start++]=0; //null的ascci码为0
}
}
count=0;
start=-1;
}
}
if(count==k)
{
while(count--!=0)
{
ch[start++]=0;
}
}
//数组转换成字符串
return String.valueOf(ch);
}
public static void main(String[]args)
{
//System.out.println("Hello");
String str="A00B"; //原字符串
String str2="A0000B000";
System.out.println(removeKZeros(str,2));
System.out.println(removeKZeros(str2,3));
}
}