替换空格
来源:互联网 发布:java调用url接口 编辑:程序博客网 时间:2024/06/09 22:36
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解题思路
如果直接开始遍历进行替换,每次替换一个空格都需要将字符串空格后面部分整体进行后移,因而效率比较低。
正确解题方法,先遍历字符串得到一共有多少个空格,假设有x个,那么新串的长度应该为 原字符串长度+x*2。
知道新串长度之后,从后向前遍历原串对新串进行填充就可以了,遇到空格则填充%20。
public class tihuankongge { public String replaceSpace(StringBuffer str) { if (str == null) return null; int spaceCount = 0; for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == ' ') { spaceCount++; } } char[] result = new char[str.length() + spaceCount*2]; int index = result.length - 1; for (int i = str.length() - 1; i >= 0; i--) { if (str.charAt(i) != ' ') { result[index--] = str.charAt(i); } else { result[index--] = '0'; result[index--] = '2'; result[index--] = '%'; } } return new String(result); } public static void main(String[] args) { System.out.println(new tihuankongge().replaceSpace(new StringBuffer("hello word"))); }}
阅读全文
0 0
- 空格替换
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- Leetcode 115 Distinct Subsequences
- htonl() htons()及inet_ntoa() inet_addr()的用法
- poj-3321-Apple Tree-(树状数组)
- STM 32 窗口看门狗
- IIC专题(二)——STM32驱动AT24C02
- 替换空格
- 【转载】配置linux syslog日志服务器
- 【Hibernate】(4)Hibernate的多表操作、级联操作与延迟加载
- 剑指offer--二叉树的下一个节点
- Java BIO与NIO比较
- string 的一些用法——插入(insert)、删除(erase)、替换(replace)和查找(find)
- ubuntu16 安装pyinstaller 显示command not found
- 活动的四种启动模式(第一行代码总结)
- hdu 6138 Fleet of the Eternal Throne (ac自动机)