请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy." 输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
Related Topics
【一个变仨】有多少个空格就长度多多少个2呗
不复杂,看代码遍历下看下有几个空格,一个空格变成`%20`的三个这样长度就多出来了2。然后把原来字符串s对应复制到新的char[]数组中,如果遇到了空格,就赋值为’%’和’2’和’0′,并且下标往后移动两位
class Solution {
public String replaceSpace(String s) {
int count = 0;
for (int i = 0; i < s.length(); i++) {
count += s.charAt(i) == ' '?1:0;
}
if (count == 0){
return s;
}
char[] arr = new char[s.length()+ count*2 ];
int idxForS = -1;
int idxForArr = 0;
while (++idxForS < s.length()){
if (s.charAt(idxForS) != ' '){
arr[idxForArr] = s.charAt(idxForS);
}else{
arr[idxForArr] = '%';
arr[++idxForArr] = '2';
arr[++idxForArr] = '0';
}
idxForArr++;
}
return new String(arr);
}
}
发表评论