思路:
代碼實現:
public String replaceBlank(String str){
if (str == null || "".equals(str)){
return null;
}
// 將原字符串轉化爲字符數組
char[] strs = str.toCharArray();
int strsLen = strs.length;
// 統計原字符串的空格
int blankCount = 0;
for(int i = 0;i < strsLen;i ++){
if(' ' == strs[i]){
blankCount ++;
}
}
// 新的字符數組的長度
int newLen = strsLen + blankCount * 2;
if(newLen == strsLen){
return str;
}
int originalIndex = strsLen - 1;
int newIndex = newLen - 1;
// 新的字符數組
char[] newStrs = new char[newLen];
while (originalIndex < newIndex){
if(strs[originalIndex] != ' '){
newStrs[newIndex --] = strs[originalIndex --];
}else{
newStrs[newIndex --] = '0';
newStrs[newIndex --] = '2';
newStrs[newIndex --] = '%';
originalIndex --;
}
}
return String.valueOf(newStrs);
}