请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
解题思路:
1.先通过方法x.length()获取该字符串的长度;
2.创建一个新的数组,用来放置新生成的字符串,默认的数组长度为字符串的3倍。
3.初始化 size 为 0,size 表示替换后的字符串的长度
从左到右遍历字符串 s
获得 s 的当前字符 c
4.如果字符 c 是空格,则令 array[size] = ‘%’,array[size + 1] = ‘2’,array[size + 2] = ‘0’,并将 size 的值 加 3
如果字符 c 不是空格,则令 array[size] = c,并将 size 的值加 1
5.遍历结束之后,size 的值等于替换后的字符串的长度,从 array 的前 size 个字符创建新字符串,并返 回新字符串
class Solution {
public String replaceSpace(String s) {
int leng = s.length();
char[] newStr = new char[leng * 3];
int size = 0;
for(int i = 0; i < leng; i++){
char c = s.charAt(i);
if(c == ' '){
newStr[size++] = '%';
newStr[size++] = '2';
newStr[size++] = '0';
}else {
newStr[size++] = c;
}
} String Str = new String(newStr, 0, size);
return Str;
}
}