從前到後統計空格的個數,然後從後到前來逐個插入。
一定要記得如果是不知道是哪齣問題的時候就舉個例子,然後從前到後跑一遍**
public class solution
} int i=str.
length()
-1; int newlen=str.
length()
+count*2;
int newindex=newlen-1;
str.
setlength
(newlen)
;for
(;i>=0&
& ielse
}return str.
tostring()
;}}
就是說這種需要有順序的插入的字串或者陣列,從前到後插入的時候會出現a中的字元被移動好多次的情況,所以直接確定最大長度,然後從後往前插是最好的 2 替換空格
1 題目 2 程式1 確定變換後陣列的長度,再從後往前更新陣列,記得在最開始要先加 0 class solution int newstrlen strlen spacenum 2 int j newstrlen str j 0 for int i strlen 1 i 0 i else str j...
2 替換空格
c class solution 替換空格 int newlength originallength 2 numberofblank if newlength 1 length return char p1 str originallength 字元指標指向原始字串的末尾 char p2 str n...
2 替換空格
暴力法 從頭到尾掃瞄,遇到空格就替換,並將空格之後的所有字元都後移兩個位元組。時間複雜度o n 2 優化 先遍歷一遍字串,這樣就可以統計出字串空格的總數,並可以由此計算出替換之後的字串的總長度。每替換乙個空格,長度增加2,因此替換以後字串的長度等於原來的長度加上2乘以空格數目。之後,我們從字串的尾部...