题目

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

java代码

package com.lizhouwei.chapter5;

/**
* @Description: 去掉字符串中连续出现k 个0 的子串
* @Author: lizhouwei
* @CreateDate: 2018/4/23 21:34
* @Modify by:
* @ModifyDate:
*/
public class Chapter5_3 {
public String removeKZero(String str, int k) {
if (str == null) {
return null;
}
char[] chars = str.toCharArray();
int count = 0;
int start = -1;
for (int i = 0; i < chars.length; i++) {
if (chars[i] == '0') {
count++;
start = start == -1 ? i : start;
} else {
if (count == k) {
while (count-- != 0) {
chars[start++] = ' ';
}
}
count = 0;
start = -1;
}
}
if (count == k) {
while (count-- != 0) {
chars[start++] = ' ';
}
}
return String.valueOf(chars);
}
//测试
public static void main(String[] args) {
Chapter5_3 chapter = new Chapter5_3();
String str = "A0000B000";
System.out.println("A0000B000 去除连续3个0:" + chapter.removeKZero(str, 3));
}
}

结果

最新文章

  1. mysql设置远程访问权限
  2. PowerDesigner 逆向中 Name和Comment互换
  3. Java的主要数据类型(Primitive)
  4. [玩转微信平台]XML的格式化- 如何去掉XML 文档头和命名空间
  5. js弹出窗口的学习和使用
  6. 【剑指offer】递归循环两种方式反转链表
  7. delphi 中使用WaitForMultipleObjects等待线程执行,再执行后续代码
  8. IOS 横屏中添加UIImagePickerController获取系统图片
  9. Zepto源码笔记(二)
  10. js获取时间和日期,字符串和时间戳之间的转换
  11. json对象的封装与解析
  12. 一、AspNet Core通过控制台编译程序的基本指令:
  13. 基于Vue+node.js的个人博客
  14. Intent传值的学习
  15. Hadoop Compatibility in Flink
  16. 字典树HihoCoder - 1014
  17. ubuntu安装python3.6
  18. Oarcle 入门之like关键字
  19. L2-008. 最长对称子串(思维题)*
  20. 深入详解美团点评CAT跨语言服务监控(八)报表持久化

热门文章

  1. MySQL中创建用户分配权限
  2. Gradle学习小结
  3. Delphi Math里的基本函数,以及浮点数比较函数
  4. linux网络及防火墙配置命令
  5. which 命令
  6. markdown流程图语法
  7. c_str()方法使用
  8. 爬虫入门【5】PyQuery简介
  9. URAL 1010 Discrete Function【简单暴力】
  10. 九度OJ 1345:XXX定律之画X (递归)