zoukankan      html  css  js  c++  java
  • 删除字符串中的空格

    实例

    替换前  abc def  ghi

    替换后  abcdefghighi

    思路

    从前往后遍历字符串a,记录空格的个数SpaceNum

    a[i] = '' : SpaceNum++

    a[i]!='' :  a[i-SpaceNum] = a[i]

    参考代码

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    void RemoveSpace(char *a)
    {
        if(a == NULL)
            return;
        int len = strlen(a);
        int SpaceNum = 0;
        for(int i = 0; i < len; ++i)
        {
            if(a[i] == ' ')
                ++SpaceNum;
            else if(SpaceNum > 0)
                a[i - SpaceNum] = a[i];
        }
        a[len - SpaceNum] = '';
    }
    
    int main()
    {
        char a[] = "abc def  ghi";
        cout << a << endl;
        RemoveSpace(a);
        cout << a << endl;
    }

    结果

    abc def ghi
    abcdefghi

    细节

    赋值完后要置结束符'',否则还会记录原来的字符,比如

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    void RemoveSpace(char *a)
    {
        if(a == NULL)
            return;
        int len = strlen(a);
        int SpaceNum = 0;
        for(int i = 0; i < len; ++i)
        {
            if(a[i] == ' ')
                ++SpaceNum;
            else if(SpaceNum > 0)
                a[i - SpaceNum] = a[i];
        }
    //    a[len - SpaceNum] = '';
    }
    
    int main()
    {
        char a[] = "abc def  ghi";
        cout << a << endl;
        RemoveSpace(a);
        cout << a << endl;
    }

    结果

    abc def ghi
    abcdefghighi

  • 相关阅读:
    CF1442E. Black, White and Grey Tree
    CF1442D. Sum
    CF1444D. Rectangular Polyline
    arc107F
    外心与垂心关系
    CF1434E. A Convex Game
    CF1434D. Roads and Ramen
    arc106E
    arc106F
    CF704E. Iron Man
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/3621772.html
Copyright © 2011-2022 走看看