字串替換空格

2021-09-25 16:54:54 字數 794 閱讀 6282

在乙個字串中用」%20「替換所有空格

思路:在原有字串長度上開闢新的空間,該空間就是把所有空格換成三個字元的長度也就是(3-1)* 空格的個數,

然後有兩個指標乙個指在原來的字串尾乙個指在最新的尾,newindex跟著oldindex走,碰到空格就把newindex前三個都變成%20,碰到不是空格就把oldindex的東西給newindex的位置,一直下去,就能完成字串的更新。

public

static

void

replace

(stringbuffer string)

}int newlength=string.

length()

+2*spacount;

string.

setlength

(newlength)

;//開闢新的空間

int newindex = string.

length()

-1;while

(oldindex>=

0&& oldindexelse

oldindex--;}

}

測試:

public static void main(string args)
process finished with exit code 0

方法二 c++;

class

solution

return res;}}

;

字串替換空格

點 抽象問題簡化問題 題意 乙個字串,比如 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...