题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
import java.util.Scanner;
public class Solution{
public static String replaceSpace(StringBuffer str){
int spacenum = 0;
int oldLength = str.length()-1;
for(int i = 0; i < str.length(); i++){
if(str.charAt(i)==' '){
spacenum++;
}
}
int newLength = spacenum*2+oldLength;
str.setLength(newLength+1);
for(;oldLength >= 0 && oldLength <= newLength; oldLength--){
if(str.charAt(oldLength) == ' '){
str.setCharAt(newLength--, '0');
str.setCharAt(newLength--, '2');
str.setCharAt(newLength--, '%');
}else{
str.setCharAt(newLength--,str.charAt(oldLength));
}
}
return str.toString();
}
public static void main(String[] args){
StringBuffer str = new StringBuffer("we are happy");
System.out.println(replaceSpace(str));
}
}