前言:
牛客網 c++ 劍指Offer_編程題 第二題 替換空格
題目:
這裏我一看題目 臥槽真簡單
循環一遍char 數組 遇到空格替換一下就ok
char[i] = "%20" //臥槽不對呀 這是char 不是string
那要向後面挪 挪幾個也不清楚
解題思路:
搞一個新的char數組 存放替換後的字符串
if(char[i] == ' ')
{
newStr[len_] = '%';
newStr[++len_] = '2';
newStr[++len_] = '0';
}
else
{
newStr[len_] = str[i];
len_++;
}
然後strcpy 一下
完整code:
class Solution {
public:
void replaceSpace(char *str,int length) {
int len_ = 0;
char* newStr = new char[100 + length];
for (auto i = 0; i < length; i++)
{
if (str[i] == ' ')
{
newStr[len_] = '%';
newStr[++len_] = '2';
newStr[++len_] = '0';
++len_;
}
else
{
newStr[len_] = str[i];
len_++;
}
}
//delete[] str;
//str = new char[len_+1];
strcpy(str, newStr);
}
};