题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
函数规范:
public class Solution {
public String replaceSpace(StringBuffer str) {
}
}
可以看到输入为strignbuffer类型的字符串,需要返回string类型的字符串。
知识点:
1、stringbuffer 与string的相互转换
stringbuffer---->string : stringbuffer的toString方法:stringbuffer.toString()
string---->stringbuffer : 构造器 StringBuffer s=new StringBuffer(String s)
2、string与char[] 的转换。其实string里就是一个char数组。
string-->char[] :通过tocharArray方法: string.toCharArray()
char[]-->string :构造器:String s=new String(char []);
解题思路一:通过String的成员函数replace(" ","%20");将所有空格准换成%20“”
或者 通过StringBuffer的成员函数replace(int start,int end,str);
//思路比较简单,不做介绍,而且应该不是考察的知识点
解题思路二:为了具有普适性(在原有字符基础上修改),这里我用char数组存放stringbuffer里的字符,然后在char数组上直接操作,来实现逐字替换,只需要一个字符数组内存
思路:比如 we are happy
首先计算替换后的总数组长度为