您的位置 首页 > 娱乐休闲

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;

}

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“java字符数组空格替换”边界阅读