day3
1.剑指 Offer 05. 替换空格
1)再加一个数组
1 class Solution { 2 public: 3 string replaceSpace(string s) { 4 string res; 5 for(auto x : s){ 6 if(x == ' ') 7 res += "%20"; 8 else 9 res += x; 10 } 11 return res; 12 } 13 };
2)原地修改
1 class Solution { 2 public: 3 string replaceSpace(string s) { 4 int len = 0; 5 for(auto c : s){ 6 if(c == ' ') 7 len += 3; 8 else 9 len ++; 10 } 11 int i = s.size() - 1,j = len - 1; 12 s.resize(len); 13 while(i >= 0){ 14 if(s[i] == ' '){ 15 s[j --] = '0'; 16 s[j --] = '2'; 17 s[j --] = '%'; 18 } 19 else 20 s[j --] = s[i]; 21 i --; 22 } 23 return s; 24 } 25 };
2.剑指 Offer 58 - II. 左旋转字符串
1 class Solution { 2 public: 3 string reverseLeftWords(string s, int n) { 4 int len = s.size(); 5 string res; 6 for(int i = n;i < len;i ++) 7 res += s[i]; 8 for(int i = 0;i < n;i ++) 9 res += s[i]; 10 return res; 11 } 12 };

浙公网安备 33010602011771号