1. 程式人生 > >劍指offer--2.替換空格

劍指offer--2.替換空格

har mut rcp nbsp www. g-lab itl tor 字符串

太久沒用C了,C++string是以‘\0‘結尾,C總char*也是以‘\0‘結尾

但是用string.copy()方法得到的字符串並不是以‘\0結尾

----------------------------------------------------------------------------------------------

時間限制:1秒 空間限制:32768K 熱度指數:871481 本題知識點: 字符串

題目描述

請實現一個函數,將一個字符串中的每個空格替換成“%20”。例如,當字符串為We Are Happy.則經過替換之後的字符串為We%20Are%20Happy。
#include <string
.h> #include <algorithm> #include <vector> #include <iostream> #include <string> using namespace std; class Solution { public: void replaceSpace(char *str,int length) { string strr(str); int pos; while ((pos = strr.find(" ")) != -1) { strr
= strr.erase(pos, 1); strr = strr.insert(pos, "%20"); } strr.copy(str, strr.length()); // strcpy(str,strr.c_str()); str[strr.length()] = \0; cout<<str; } }; int main() { Solution demo; char s[] = "we are happy!"; demo.replaceSpace(s,
13); return 0; }

劍指offer--2.替換空格