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--] = str[i];}}
};
3、程式2
重新定義乙個新的陣列,並逐個進行賦值,然後進行空格的替換
class
solution
int j = 0;
for(int i = 0; i < length; ++i) else}}
};
class
solution
else
if(tmp[i] == '\0')
else
str[j++] = tmp[i];}}
};
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乘以空格數目。之後,我們從字串的尾部...
改變2 替換空格
從前到後統計空格的個數,然後從後到前來逐個插入。一定要記得如果是不知道是哪齣問題的時候就舉個例子,然後從前到後跑一遍 public class solution int i str.length 1 int newlen str.length count 2 int newindex newlen ...