思路

这里利用了一个辅助的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)。