码迷,mamicode.com
首页 > 其他好文 > 详细

替换空格

时间:2019-08-16 23:13:04      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:turn   style   ||   两个指针   条件   大小   int   return   ace   

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    }

 

替换空格

标签:turn   style   ||   两个指针   条件   大小   int   return   ace   

原文地址:https://www.cnblogs.com/cgy1012/p/11366377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!