C++ 剑指offer 替换空格

替换空格

http://www.nowcoder.com/questionTerminal/4060ac7e3e404ad1a894ef3e17650423

char *str => str!=nullptr
char str[] => str!=NULL



class Solution {
public:
    void replaceSpace(char str[],int length) {
        if(str == NULL && length<=0){
            return;
        }

        int originLength = 0;
        int numofbank = 0;
        int i = 0;
        while(str[i]!='\0'){
            ++ originLength;
            if(str[i]==' '){
                ++ numofbank;
            }
            ++ i;
        }
        
        int curlength = originLength + numofbank*2;
        
        if(curlength>length){
            return;
        }
        
        int indexOrigin = originLength;
        int indexCur = curlength;
        while(indexOrigin>=0 && indexCur >indexOrigin){
            if(str[indexOrigin]== ' '){
                str[indexCur--] = '0';
                str[indexCur--] = '2';
                str[indexCur--] = '%';
            }
            else{
                str[indexCur--] = str[indexOrigin];
            }
            -- indexOrigin;
        }
    }
};

全部评论

相关推荐

🎓学历背景:双非土木硕👨‍💻意向职位:AI应用开发大佬们可以帮我看看简历吗,秋招至今0offer
秋招结束再玩瓦:今年科班都不好找哇……你可以试试交叉岗,比如制造业国企的一些开发算法,或者互联网的边缘岗,it技术支持,运维这些
我的简历长这样
点赞 评论 收藏
分享
敢逐云霄志:你打招呼语怎么能这么长,hr都没看下去的欲望,简明扼要说重点,就读于某某学校某某专业,26届应届毕业生,学信网可查,先后在某某公司实习过(如有),然后做过什么项目,想找一份什么样的工作,可实习几个月以上,期待您的回复。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务