您的位置:首页 > 其它

去掉字符串中连续出现k个0的子串

2017-12-26 16:44 274 查看


//去掉字符串中连续出现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));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息