【笔试】22、替换字符串的空格

来源:互联网 发布:淘宝3c证书怎么上传 编辑:程序博客网 时间:2024/06/05 09:33
/** *题目:请实现一个函数,把字符串中的每个空格替换成”%20”。例如输入“We are happy.”,则输出”We%20are%20happy.” *时间:2015年8月25日10:34:31 *文件:ReplaceBlank.java *作者:cutter_point */package bishi.Offer50.y2015.m08.d25;public class ReplaceBlank{public static char[] ReplaceBlank(char string[], int length){//我们用倒序的方法进行遍历if(string == null && length < 0){System.err.println("数据异常");return null;}//我们先求出需要的空间长度int originalLength = length;int numberOfBlank = 0;//空白的字符int i = 0;while(i < length){if(string[i] == ' '){++numberOfBlank;}++i;}//我们需求的长度'int newLength = originalLength + numberOfBlank * 2;if(newLength > length){//我们为新的数组申请空间char string2[] = new char[newLength];//然后把数据移到新的数组中for(int j = 0; j < length; ++j)string2[j] = string[j];string = string2;}//我们从后往前遍历,把所有的字符进行替换int indexOfnewString = newLength - 1;int indexOfOriginalString = length - 1;while(indexOfnewString >= indexOfOriginalString && indexOfOriginalString > -1){//如果是空格我们就替换,如果不是,就直接复制过来if(string[indexOfOriginalString] == ' '){string[indexOfnewString--] = '0';string[indexOfnewString--] = '2';string[indexOfnewString--] = '%';}//ifelse{string[indexOfnewString--] = string[indexOfOriginalString];}--indexOfOriginalString;}//whilereturn string;}public static void test(){String ss = "We are happy.";char s[] = new char[50];s = "We are happy.".toCharArray();s = ReplaceBlank(s, s.length);for(int i = 0; i < s.length; ++i){System.out.print(s[i]);}}public static void main(String[] args){test();}}

0 0
原创粉丝点击