面试题 01.03. URL化:https://leetcode-cn.com/problems/string-to-url-lcci/
URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)
class Solution {
public String replaceSpaces(String s, int length) {
if(length==0){
return s;
}
char array[]=s.toCharArray();
int spaceCount=0;
for(int i=0;i<length;i++){
if(array[i]==' '){
++spaceCount;
}
}
int urlLength=length+2*spaceCount;
for(int i=length-1;i>=0;i--){
int offset=spaceCount*2;
if(array[i]==' '){
array[i+offset-2]='%';
array[i+offset-1]='2';
array[i+offset]='0';
spaceCount--;
}else{
array[i+offset]=array[i];
}
}
return new String(array).substring(0,urlLength);
}
}