請編寫乙個方法,將字串中的空格全部替換為「%20」. 保證字串由大小寫的英文本母組成. 給定乙個string inistring 為原始的串,以及串的長度 int len, 返回替換後的string.
方法1 允許額外空間分配(不推薦).
public
class
replacement
return sb.
tostring()
;}}
方法2. 不允許開闢額外空間(推薦). 就是確定新陣列長度,然後從後往前遍歷舊陣列.
public
class
replacement
int len =0;
//字元個數
int blank =0;
//空格個數
int i =0;
//從下標0開始遍歷
while
(i < ch.length)
i++;}
int newlen = len + blank *2;
// 新陣列長度
char
ch2 =
newchar
[newlen]
;// 把陣列1的內容全部拷貝到陣列2.
system.
arraycopy
(ch,
0, ch2,
0, length)
;int index1 = len -1;
int index2 = newlen -1;
while
(index2 > index1 && index1 >=0)
else
index1--;}
return string.
valueof
(ch2);}
}
字串替換空格
點 抽象問題簡化問題 題意 乙個字串,比如 aaa baea erwe dsa dsa f a 替換其中的空格字元為 20 劍指offer面試題4 思路 這個問題的點在於,如果正常從頭到尾替換的話,每乙個被替換空格,它後面的全部字串都需要做整體移動 所以要設法想出,怎麼能夠減少字串移動 非空格字元需...
替換空格(字串)
思路一 利用string類的replaceall方法 public class solution 思路二 將字串轉換為字元陣列 建立乙個新的stringbuffer的物件,遍歷字元陣列,將不為空格的字元直接存入 當遇到空格時,存入 20 public class solution return st...
字串 替換空格
方法 從後往前替換,先求出字串總長度 空格數 新字串長度,然後兩個指標分別指向原始字串末尾和新字串末尾,依次替換,遇到空格時則替換為 0 2 include includevoid replaceblank char string,int length int newlength originall...