题目描述
请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。
给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。
测试样例:
"Mr John Smith”,13
返回:"Mr%20John%20Smith"
”Hello World”,12
返回:”Hello%20%20World”
public class Replacement { public String replaceSpace(String iniString, int length) { // write code here int cnt = 0; int newLen; for(int i = 0; i < iniString.length(); i++){ if(iniString.charAt(i) == ' ') cnt++; } newLen = cnt*2 + length; char []res = new char[newLen]; for(int i = length-1 ; i>=0; i--){ if(iniString.charAt(i) == ' ') { res[newLen-1] = '0'; res[newLen-2] = '2'; res[newLen-3] = '%'; newLen = newLen - 3; }else{ res[newLen-1] = iniString.charAt(i); newLen = newLen - 1; } } String s = new String(res); return s; } public static void main(String[] args) { Replacement rp = new Replacement(); System.out.println(rp.replaceSpace("John Smith","John Smith".length())); } }