码迷,mamicode.com
首页 > 其他好文 > 详细

替换空格

时间:2021-06-16 18:33:53      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:==   字符数组   链接   new   kong   空间   res   结果   ++   

题目链接: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;
    }
};

替换空格

标签:==   字符数组   链接   new   kong   空间   res   结果   ++   

原文地址:https://www.cnblogs.com/ZigHello/p/14889370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!