替代字符串的空格
/**
请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,
并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。
给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。
测试样例:
"Mr John Smith”,13
返回:“Mr%20John%20Smith”
”Hello World”,12
返回:”Hello%20%20World”
*/
public class d替代字符串的空格 {
public static void main(String[] args) {
String str2="hello my name id0000000000";//后面的0要大于空的
char[]chara=str2.toCharArray();
System.out.println(replace(chara,14));
}
private static String replace(char[] chara, int length) {
// TODO Auto-generated method stub
int count =length;
for(int i=0;i<chara.length;i++) {
if(chara[i]==' ') {
count +=2;
}
}
int p1=length;//先指针
int p2=count; //后指针
while(p1>=0) {
if(chara[p1]==' ') {
chara[p2--]='你';
chara[p2--]='我';
chara[p2--]='它';//倒着写
}else {
chara[p2--]=chara[p1];
}
p1--;
}
return new String(chara, 0, count);//返回字符0到count
}
}