实现一个函数,将字符串中的空格替换成"%20"

来源:互联网 发布:上海炫踪网络上市 编辑:程序博客网 时间:2024/04/28 23:01

请实现一个函数,将字符串中的每个空格替换成"%20",例如输入"We are happy.",则输出"We%20are%20happy."

我的程序时间复杂度可以达到O(n),但是需要开辟一个新的字符串数组。

public  class test {    public static void main(String[] args) {    String str = "We are happy.";    char[] ch = str.toCharArray();    int len = ch.length;    char[] ch1 = ReplaceBlank(ch, len);    System.out.print(ch1);    }    public static char[] ReplaceBlank(char[] str, int len){if(len<=0)return null;int count = 0;for(int i=0;i<len;i++){   if(str[i]==' ')++count;//计数原字符串中的空格数目}int newLength = len + count*2;char[] newStr = new char[newLength];  //替换后的字符串数组的大小if(newLength == len)return null;int oldIndex = len-1;int newIndex = newLength-1;while(oldIndex>=0){if(str[oldIndex]==' '){newStr[newIndex--]='0';newStr[newIndex--]='2';newStr[newIndex--]='%';}else{newStr[newIndex--] = str[oldIndex];}oldIndex--;}return newStr;    }}


0 0
原创粉丝点击