替換空格
題目描述:
請實作一個函數,将一個字元串中的每個空格替換成“%20”。例如,當字元串為We Are Happy.則經過替換之後的字元串為We%20Are%20Happy。
void replaceSpace(char* str, int length)
{
int count = 0;
for (int i = 0; i < length; i++) if (str[i] == ' ') count++;
for (int i = length - 1; i >= 0; i--)
{
if (str[i] != ' ') str[i + 2 * count] = str[i];
else
{
str[i + 2 * count] = '0';
str[i + 2 * count - 1] = '2';
str[i + 2 * count - 2] = '%';
count--;
}
}
}
思路:首先周遊字元串得到空格的個數,之後進行判斷,如果為非空格,則根據空格的個數向後移動相應的位置,如果為空格則把要添加的子字元串填進去,這裡注意count的自減.