玖叶教程网

前端编程开发入门

java字符数组空格替换

问题描述

设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。

你的程序还需要返回被替换后的字符串的长度。

样例

对于字符串”Mr John Smith”, 长度为 13

替换空格之后,参数中的字符串需要变为”Mr%20John%20Smith”,并且把新长度 17 作为结果返回。

挑战

在原字符串(字符数组)中完成替换,不适用额外空间

代码块

/*

* @param string: An array of Char

* @param length: The true length of the string

* @return: The true length of new string

*/

public int replaceBlank(char[] string, int length) {

if(length==0) return 0;

int num=0;

for(int i=0;i<length;i++){ //统计空格个数

if(string[i]==' '){

num++;

}

}

int newLen=length+num*2;

for(int i=length-1,j=newLen-1;i>=0;i--){

if(string[i]!=' '){

string[j]=string[i];

j--;

}

else{

string[j]='0';

j--;

string[j]='2';

j--;

string[j]='%';

j--;

}

}

return newLen;

}

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言