替换空格

Posted 张宵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了替换空格相关的知识,希望对你有一定的参考价值。

题目链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/
题目描述:

题解:
空间复杂度:O(1)
1.先找出字符串中含有多少个空格
2.对原字符串空间扩容
3.定义两个指针,一个指向新字符串的末尾,一个指向原始字符串的末尾

class Solution {
public:
    string replaceSpace(string s) {
        int count = 0;
        int sOldSize = s.size();
        for(auto iter: s)
        {
            if(iter == \' \')
                count++;
        }
        s.resize(s.size() + count * 2);
        int sNewSize = s.size();
        for(int i = sNewSize - 1, j = sOldSize - 1; j < i; i--, j--)
        {
            if(s[j] != \' \')
            {
                s[i] = s[j];
            }else{
                s[i] = \'0\';
                s[i - 1] = \'2\';
                s[i - 2] = \'%\';
                i -= 2;
            }
        }
        return s;

    }
};

空间复杂度:O(N)


class Solution {
public:
    string replaceSpace(string s) {     //字符数组
        string array;   //存储结果
        
        for(auto &c : s){   //遍历原字符串
            if(c == \' \'){
                array += "%20";
            }
            else{
                array += c;
            }
        }
        return array;
    }
};

以上是关于替换空格的主要内容,如果未能解决你的问题,请参考以下文章

如何从主要活动中替换片段

用片段替换时操作栏向下移动

如何在android studio中用另一个片段替换一个片段

用片段替换某些东西

试图替换片段,但它一直显示相同的片段

正则表达式替换markdown文件代码块标记中的所有空格