替换空格

Posted cgy1012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了替换空格相关的知识,希望对你有一定的参考价值。

1.选择从前向后   替换空格

每次重复挪动;效率低;

算法时间复杂度 O(n²)

2.选择从前向后   替换空格

利用两个指针操作!!

 1 void replaceSpace(char * str,int length)
 2 
 3   if(str==NULL||length<=0)
 4       return;
 5   char * p1, *p2;
 6   int k=0;
 7   //首先遍历字符串 看有几个空格
 8 
 9   for(int i=0;i<length;i++)
10   
11    if(str[i]==32) //这么表示也可以             //ASCII  .空格是32
12     k++;
13   
14    int add=k*3-k;//后移字节大小
15    p1=str+length-1;
16    p2=str+length-1+add;
17 
18    while (p2!=p1)//结束条件
19    
20 
21     if((*p1)!=32)
22     
23          *p2=*p1;
24 
25           p1--;
26           p2--;//向前移动
27     else //遇到空格
28     
29         *p2--=0;
30         *p2--=2;
31         *p2--=%;
32         p1--;
33     
34 
35    

 

以上是关于替换空格的主要内容,如果未能解决你的问题,请参考以下文章

Jquery的序列化方法为啥要把空格替换成加号

《剑指Offer》替换空格(将字符串中的空格替换为%20)

UltraEdit编辑器里面,如何把 回车换行符 替换成 空格 ?谢谢

替换空格

如何替换掉字符串里的空格?

如何替换掉字符串里的空格?