java 剑指offer 第二题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
来源:互联网 发布:九九乘法口诀java运算 编辑:程序博客网 时间:2024/06/06 05:38
** public class Solution {
public String replaceSpace(StringBuffer str) {
首先程序给出的参数是StringBuffer类,那么我首先考虑的是就调用StringBuffer类的相关方法完成操作。
- 方法一
配合StringBuffer 的indexOf方法和replace方法。
但是StringBuffer没有方法来判断str里面是否有空格,所以先转换为字符串判断是否有空格。
public class Solution { public String replaceSpace(StringBuffer str) { String result = str.toString(); if(result.contains(" ")){ while(str.indexOf(" ") != str.lastIndexOf(" ")){ int index = str.indexOf(" "); str.replace(index,index+1,"%20"); } int index = str.indexOf(" "); str.replace(index,index+1,"%20"); result = str.toString(); return result; }else{ return result; } }}
结果为17ms,13012k.
- 方法二
后来发现StringBuffer的indexOf方法找不到时返回值为-1,那么直接使用-1
来做判断代码简单很多。
public class Solution { public String replaceSpace(StringBuffer str) { int index = str.indexOf(" "); while(index != -1){ str.replace(index,index+1,"%20"); index = str.indexOf(" ",index); } String result = str.toString(); return result; }}
测试通过为18ms,8928k。(不知道时间为什么会变多)
- 方法三
事后查看网上的方法,不调用replace方法实现。
public class Solution { public String replaceSpace(StringBuffer str) { int n = str.length();//字符串的长度 int ii = 0;//空格的个数ii for(int i = 0;i < n;i++){ //检测空格 if(str.charAt(i)==' '){ ii++; } } int nn = 2 * ii + n;//根据空格的个数,得到新数组的长度 int index = nn -1; char[] ct = new char[nn];//新建数组 while(n > 0){ if(str.charAt(n - 1) != ' '){ //如果不是空格 ct[index--] = str.charAt(n-1); } else{ //如果是空格 ct[index--] = '0'; ct[index--] = '2'; ct[index--] = '%'; } //取下一个字符 n--; } return String.valueOf(ct);//将字符数组转为String类型后返回 }}
测试结果18ms,8744k.
阅读全文
0 0
- java 剑指offer 第二题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- java 剑指offer 第二题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 【剑指offer】请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 请实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy。
- 请实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy。
- 请实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy。
- 请实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy。
- 牛客网在线编程剑指offer题目二请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 记录Robotium黑盒测试一个APK文件学习之从签名到简单测试
- 自定义view之点赞
- K8S云管平台开发实践
- 避免可变参数的修改(关键词:Python/可变参数)
- 表单重置或清空
- java 剑指offer 第二题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- GitHub上史上最全的iOS开源项目分类汇总
- 【第十三周】698. Partition to K Equal Sum Subsets
- springsecurity小结
- python171220-编译性和解释性语言的内部机制
- 购物车——总价结算
- 数据结构之查找(一)——概论
- Java 反射
- 替换后台返回换行符