在字符串中删除特定的字符

    技术2022-05-19  27

    63.在字符串中删除特定的字符。题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。

    例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。

     

     

    string firstStr,secondStr;int m = firstStr.size();int n = secondStr.size();

    char occurred[256];memset(occurred,0,256);

    //遍历secondStr中的每个字符,occurred记录哪个字符出现过foreach(char c in secondStr){     occurred[c] = 1; }

    char * res = new char[m + 1];memset(res,0,m + 1);//遍历firstStr的每个字符,没在occurred中出现的,放到res中。int i =0;foreach(char c in firstStr){    if (occurred[c] == 0) res[i++] = c;}时间复杂度O(m + n)

     

    把要删除的字符second遍历一次,记录,存储在一个数组A中然后,再遍历 first,把没在A中出现的 字符(或记录)留下来,再保存

    相当于 剔除掉要删除的字符,把不要删除的字符,就留下来保存


    最新回复(0)