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 };
posted @ 2022-06-27 17:41  balabalahhh  阅读(21)  评论(0)    收藏  举报