zoukankan      html  css  js  c++  java
  • 携程笔试中的一道编程题

    题目:字符串去符号。

    将输入的一串字符串中的标点符号都删掉。

    输入样例:
    String:a1,b2.c3-d4!

    输出样例:
    Stringa1b2c3d4

    最一开始想到的就是剑指offer中的{面试题4:替换空格}

    时间也很紧就大概想了想没有怎么认真考虑。

    结果出现覆盖现象。

    然后我就换成了两个数组一个遍历一个赋值。

    代码如下:

    #include <iostream>
    #include <vector>
    #include <numeric>
    #include <limits>
    #include<string>
     
     
    using namespace std;
    #define N 100
     
     
    char*  change(char putin[],int n)
    {
        if(putin == NULL)
            return NULL;
        int strcount = 0;
        for(int i = 0;i<n;++i)
        {
            if((putin[i]>='a'&&putin[i]<='z')||(putin[i]>='A' && putin[i]<='Z')||(putin[i]>='0'&&putin[i]<='9'))
                ++strcount;
        }
        int p1 = n-1;
        int p2 = strcount-1;
        char *putout = new char[strcount];
        putout[strcount] = '';
        while( p2>=0)
        {
            if((putin[p1]>='a'&&putin[p1]<='z')||(putin[p1]>='A' && putin[p1]<='Z')||(putin[p1]>='0'&&putin[p1]<='9'))
            {
                putout[p2--] = putin[p1--];
            }
            else
            {
                --p1;
            }
        }
        return putout;
    }
    int main()
    {
        char putin[N];
        char *putout;
        gets(putin);
        int n = strlen(putin);
        putout = change(putin,n);
        puts(putout);
    }

  • 相关阅读:
    HashMap死循环造成CPU100%
    ArrayList升级为线程安全的List
    并发容器-ConncurrentHashMap
    并发容器-概览
    不可变性final
    CAS
    原子类-Adder累加器
    hue-使用mysql作为元数据库
    yhd日志分析(二)
    yhd日志分析(一)
  • 原文地址:https://www.cnblogs.com/cjn123/p/10666249.html
Copyright © 2011-2022 走看看