题目:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
package ReplaceSpace;
public class ReplaceSpace {
public String replaceSpace(String s){
char[] result = new char[s.length()*3]; //长度最大的情况是所有字符都是空格,全部替换
int size = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (s.charAt(i) == ' ') {
result[size] = '%';
result[size + 1] = '2';
result[size + 2] = '0';
size += 3; //要跳过3个符号
}else{
result[size] = c;
size++;
}
}
//把char拼合成String
String comb = new String(result,0,size);
/**
* 注意:要限定0~size的范围,
* 因为char[]在初始化中设定了3倍length的长度
* 若只写String(result),则后面都显示为空格
*/
return comb;
}
public static void main(String[] args) {
ReplaceSpace string = new ReplaceSpace();
String test = "We are happy.";
System.out.println(string.replaceSpace(test)); //We%20are%20happy.
}
}