去掉字符串末尾连续出现k个0的子串
2016-03-21 21:42
218 查看
题目:去掉字符串末尾连续出现k个0的子串
要求:
str=“A00B”,返回“A00B”;
str=“A00B00”,返回“A00B”;
要求:
str=“A00B”,返回“A00B”;
str=“A00B00”,返回“A00B”;
思路:这个题同样是用到上一篇中字符串中找数字求和的思想,找'0'就需要在不是'0'的时候去拼接字符串 这个题用了StringBuffer来简化求解过程,不用计算chars的start(连续'0'的起始位置)和k(多少个'0')
public String remove(String str) { if (str == null) return str; //这里使用两个StringBuffer,一个记录结果res,一个用来记录sb... StringBuffer res = new StringBuffer(); StringBuffer sb = new StringBuffer(); char[] chars = str.toCharArray(); for (int i = 0; i < chars.length; i++) { if (chars[i] != '0') { //遇到了不是'0'的情况,在这里去拼接res sb.append(chars[i]); res.append(sb); sb.replace(0, sb.length()-1,""); } else { sb.append(chars[i]); } } return res.toString(); }
相关文章推荐
- 第四次作业
- printk打印指针变量
- 结构【重学C之六】
- java学习笔记1--开发环境平台总结
- 序列化和反序列化系列博客(一)—— What and Why?
- Linux 安装 mysql
- Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法
- Installtion ID : UUID 统计安装
- 从站点细节入手提高易用性
- 单元测试
- Poj 1017 Packets【贪心+细节】
- 说说高斯过程回归
- Error Unable to start the Genymotion virtual device.解决
- 一文读懂卷积神经网络
- H3C 交换机端口汇聚
- 用C#学习数据结构之链表
- 小型web服务器thttpd的学习总结(上)&小型web服务器thttpd的学习总结(下)
- 初识Node.js<一>DNS查询的例子
- Linux 时间
- 编程思想的理解(POP,OOP,SOA,AOP)