题目链接
URL化
题目描述
注意点
- 字符串长度在 [0, 500000] 范围内
- 假定该字符串尾部有足够的空间存放新增字符
解答思路
- 因为该字符串尾部有足够的空间存放新增字符,所以直接使用大小为s.length()的char数组进行操作,使用idx记录当前操作char数组的位置,根据真实长度(length)遍历整个字符串,如果当前字符不是’ ‘,则idx处存进当前字符,否则idx处开始的三个空间分别存进’%'、‘2’、‘0’
代码
class Solution {
public String replaceSpaces(String s, int length) {
char[] arr = new char[s.length()];
int idx = 0;
for (int i = 0; i < length; i++) {
char c = s.charAt(i);
if (c != ' ') {
arr[idx++] = c;
} else {
arr[idx++] = '%';
arr[idx++] = '2';
arr[idx++] = '0';
}
}
return new String(arr, 0, idx);
}
}
关键点
- 无