校招准备系列:每天一道算法题(11)-替换空格
来源:互联网 发布:烟袋斜街10号 网络剧9 编辑:程序博客网 时间:2024/05/30 07:12
替换空格
此题来自 剑指offer
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
最简单的方法:利用java自带的 replace 方法:
public class Solution { public String replaceSpace(StringBuffer str) { String str1 = str.toString(); String str2 = str1.replace(" ","%20"); return str2; }}
另外一种解法 从后往前依次替换:
public class Solution { public String replaceSpace(StringBuffer str) { int count = 0; for(int i = 0;i<str.length();i++){ if(str.charAt(i) == ' '){ count++; } } int len = str.length(); int newLen = str.length()+count*2; char[] rs = new char[newLen]; for(int i = len-1;i>=0;i--){ if(str.charAt(i) == ' '){ rs[newLen-1]='0'; rs[newLen-2]='2'; rs[newLen-3]='%'; newLen = newLen-3; }else{ rs[newLen-1]=str.charAt(i); newLen--; } } return new String(rs); }}
阅读全文
0 0
- 校招准备系列:每天一道算法题(11)-替换空格
- 校招准备系列:每天一道算法题(1)
- 校招准备系列:每天一道算法题(2)
- 校招准备系列:每天一道算法题(3)
- 校招准备系列:每天一道算法题(4)
- 校招准备系列:每天一道算法题(5)-两数之和
- 校招准备系列:每天一道算法题(6)-连续最大和
- 校招准备系列:每天一道算法题(7)-末尾0的个数
- 校招准备系列:每天一道算法题(8)-进制转换
- 校招准备系列:每天一道算法题(9)-单例
- 校招准备系列:每天一道算法题(10)-二维数组查找
- 校招准备系列:每天一道算法题(12)-从尾到头打印链表
- 校招准备系列:每天一道算法题(13)-斐波那契数列
- 校招准备系列:每天一道算法题(14)-合并两个排序的链表
- 校招准备系列:每天一道算法题(15)-求1+2+3+...+n
- 每天一道算法题——替换空格
- 【每天一道算法题】
- 【每天一道算法题】
- Hash的计算方案
- 0071 性格测试
- 爬虫抓取百度贴吧帖子标题及作者
- HDU 1575 Tr A
- java9新特性-JEP 269:集合类便利的工厂方法
- 校招准备系列:每天一道算法题(11)-替换空格
- C++之STL vector解析(2)---《C++ STL》
- fastdfs介绍与工作原理
- Codeforces 101243 B Hanoi tower
- CENTOS 7 如何设置防火墙
- 洛谷 2663 越越的组队 【dp】
- Redis数据结构-SDS
- 链表1
- 机器学习中的范数规则化之(一)L0、L1与L2范数