剑指 Offer 05. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
限制:
0 <= s 的长度 <= 10000
思路:
获取String的长度转换成字符数组后遍历替换空格。
数组长度正好String长度+空格数*2
相关知识点:
- String.toChararray():把String转换成Char字符数组。
- String.charAt():获取String指定位置的字符
- String(字符数组,开始位置,长度):截取衣服数组指定长度创建String
代码:
class Solution {
public String replaceSpace(String s) {
int count=0;
for(char c:s.toCharArray()){
if (c==' '){
count++;
}
}
char[] arr=new char[s.length()+count*2];
int size=0;
for (int i = 0; i < s.length(); i++) {
char c=s.charAt(i);
if (c==' '){
arr[size++]='%';
arr[size++]='2';
arr[size++]='0';
}else {
arr[size++]=c;
}
}
String str=new String(arr,0,size);
return str;
}
}