Easonay_Y

验证过才会写出来

导航

剑指Offer2---------替换空格

Posted on 2019-10-24 19:35  Easonay_Y  阅读(108)  评论(0编辑  收藏  举报

题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 
重点:将字符填入字符串指针中
解决方案:
#include <queue>
class Solution {
public:
void replaceSpace(char *str,int length) {//可以使用队列完成这个任务
        if(str == NULL) return;
        queue<char> q;
        int j =0;
        for(int i =0;i<length;i++){
            if(*(str +i) == ' '){
                q.push('%');
                q.push('2');
                q.push('0');
            }else if(*(str+i) != ' '){
                q.push(*(str +i));
            }
        }
        while(!q.empty()){
            *(str +j) = q.front();
           q.pop();
           j++;
        }
        return;
}
};