美文网首页
2019-05-15

2019-05-15

作者: gcrisis | 来源:发表于2019-05-15 00:02 被阅读0次

    题目描述

    请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    class Solution {

    public:

    void replaceSpace(char *str,int length) {

            int spacenum=0;

            for(int i=0;i<length;i++)

            {

                if(str[i]==' ')

                    spacenum++;

            }

            int newlength=spacenum*2+length;

            while(length>0)

            {

                if(str[--length]==' ')

                {

                    str[--newlength]='0';

                    str[--newlength]='2';

                    str[--newlength]='%';

                }

                else

                {               

                    str[--newlength]=str[length];

                }

            }

    }

    };

    关键是从后往前遍历,这样就可以使用同一个数组而不用担心覆盖问题。

    相关文章

      网友评论

          本文标题:2019-05-15

          本文链接:https://www.haomeiwen.com/subject/reayaqtx.html