思路
这里利用了一个辅助的string容器,然后去寻找给定字符串中的空格,在找的过程中把不为空格的字符放到辅助的string容器中。找的空格后就把“%20”放到辅助容器中,最终返回辅助string容器。
代码实现
string replaceSpace(string s) {
int i = 0;
string st; //辅助容器
while(s[i]!='\0')
{
//寻找空格
if(s[i]!=' ')
{
//这里使用的是append(int n,char c)//在当前字符串结尾追加n个字符c
st.append(1,s[i]);
i++;
continue;
}
//找到空格后追加字符串“%20”
st.append("%20");
i++;
}
return st;
}
复杂度
这里时空复杂度应该都是O(N)。