欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-21 19:29:00
...

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

//去掉字符串中连续出现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));
	}
}
去掉字符串中连续出现k个0的子串