2. 替換空格
題目描述
請實現(xiàn)一個函數(shù),將一個字符串中的每個空格替換成“%20”。例如,當字符串為We Are Happy.則經過替換之后的字符串為We%20Are%20Happy。
解題思路:
首先統(tǒng)計字符串中的空格數(shù)量numberOfBlank
,那么將字符串中的空格替換為%20
后愉镰,字符串的長度應該為indexNew = length + 2 * numberOfBlank - 1
,這樣從后向前將原有字符串的字符依次向后移動钧汹,遇到空格則替換為%20
丈探。
解答:
class Solution {
public:
void replaceSpace(char *str,int length) {
if(str == nullptr || length == 0)
return;
// 統(tǒng)計空格數(shù)量
int numberOfBlank = 0;
for(int i = 0; i < length; ++i)
{
if(str[i] == ' ')
++numberOfBlank;
}
int indexOriginal = length - 1;
int indexNew = length + 2 * numberOfBlank - 1;
for(int i = indexOriginal; i >= 0; --i)
{
if(str[i] != ' ')
{
str[indexNew] = str[I];
--indexNew;
}
else
{
str[indexNew--] = '0';
str[indexNew--] = '2';
str[indexNew--] = '%';
}
}
}
};
大家有興趣可以訪問我的個人博客,不定時更新一些內容哦拔莱!