题目
给定一个字符串str和一个整数k,如果str中刚好有连续的k个‘0’字符出现时,把k个连续的‘0’字符删除,返回处理后的字符串。
举例
str = “A00B”,k = 2,返回 “AB”。
str = “A0000B000”,k = 3,返回 “A0000B”。
思路
- 将字符串转化为数组
- 判断字符数是否为空或者k是否是0,
- 定义start 如果是0,先看start是否-1 ,判断起始,count++,当不是0判断count是否==k,等于 将这些位置为某一字符,且start和count归0;最后判断一个count是否等于k.
问题
答案中在
while (count-- != 0)
chas[start++] =0;
中将char置为空字符,实际这样打印出来 如AOOB 2–>是 A B,中间存在空格。使用repalce函数并不知道怎么取代,因为我写成了32,23表示的是空格,这样可以使用replace(“ ”,“”)
空字符: 字符串结尾的标志(‘\0’),实际上他的数值是0。 可以理解为标志性字符型,其使命主要是为了表明字符串已经结束。
空格字符: 空格字符( ‘’单引号中间有一个空格)的ASCII码10进制32,16进制的0X20<