替换空格

问题描述:实现一个函数,把字符串里的空格替换成%20,如'We are happy' 替换成 'We%20are%20happy'

基本思想:1. 统计空格个数:count 2. 替换后长度为length+count*2,按此长度从后往前插,因为这样不会破坏源字符串,减少移动次数

void replaceSpace(char * str, int length)
{
  int len = 0;
  int count = 0;
  while(str[len]!='\n')
  {
    if(str[i] == ' ')
      count++;
    len++;
  }
 int newlen = len + count*2;
# 扩充后的长度太长
if(newlen > length)return false; 
 while(len<newlen)
  {
    if(str[len] == ' ')
    { # 倒序插入,本质是就地移动
      str[newlen--] = '0';
      str[newlen--] = '2';
      str[newlen--] = '%';
    }
    else
    {
      str[newlen--] = str[len];
    }
    len--;
  }
return true;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之...
    薛皓哲阅读 309评论 0赞 0
  • 题目 将字符串中的每个空格都替换为“%20” 虽然我的代码不是这么写的,但是还是来记录下这个题的算法思路:We a...
    clshinem阅读 300评论 1赞 1
  • 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增...
    WeavingWong阅读 203评论 0赞 0
  • 今天丽华主动来电,分享了她对我日志的感受,提出了自己的看法:要写就写出有具体的事,你自己的感受,或者你对事件的体验...
    真心爱礼阅读 339评论 2赞 5
  • 如果问我为什么写作?毫无疑问有很多个答案 我写作是为了给自己看,有的是记录生活的点滴,有的是记录身边发生的人和事,...
    傻里傻气傻孩子阅读 268评论 4赞 3

友情链接更多精彩内容