题目描述:
设计一种方法,将一个字符串中的所有空格替换成 %20
。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。
你的程序还需要返回被替换后的字符串的长度。
代码实现:
public class Solution { /* * @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) { int add = 0; for(int i=0; i<length; i++){ if (string[i]==' '){ add++; } } int newlen = length + add*2; int j=1; for(int i = length-1; i>=0; i--){ //System.out.println(i); if (string[i]!=' '){ string[newlen-j] = string[i]; j++; } else{ string[newlen-j]='0'; j++; string[newlen-j]='2'; j++; string[newlen-j]='%'; j++; } } return newlen; } }
备注:一定从后向前替换,因为后面是空的