题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy
思路:
1.把字符串的集合转成字符数组
2.把遍历数组判断并且存到新的集合中去
3.最后把集合转成字符串
public class Solution {
public String replaceSpace(StringBuffer str) {
//首先判断是字符串是为空
if(str == null){
return null;
}
// 转成char[],虽然多用了些空间,但是[] 比charAt快得多的多
//集合转字符串-->在转字符数组
char[] s = str.toString().toCharArray();
//用stringbuffer来存储字符串
StringBuffer res = new StringBuffer();
// 不可以使用forEach,因为foreach不关心顺序,但顺序对本题来说还是十分有用的。
//循环字符串数组
for (int i = 0; i < s.length; i++) {
if(s[i] == ' '){//判断字符串是否为空
res.append("%20");
}else {
res.append(s[i]);
}
}
//返回这个字符串
return res.toString();
}
}