字符串的删除

  • Post author:
  • Post category:其他


【问题描述】

输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符,例如输入 they are students和aeiou,则删除后的字符串为thy r stdnts

【样例输入】

they are students

aeiou

【样例输出】

thy r stdnts

C++方法一:

#include <iostream>
#include <cstring>

char * string_del_characters( char * const src, const char * const dest )
{
   int destLen = strlen( dest );
   int hash_table[256] = { 0 };
   char * p = src;
   int index = 0;
   for( int i = 0; i < destLen; i++ )
   {
      hash_table[ (int)dest[i] ] = 1;
   }
   while( *p != '\0' )
   {
      if( 0 == hash_table[(int)*p] )
      {
         src[index++] = *p;
      }
      p++;
   }
   src[index] = '\0';
   return src;
}

int main( int argc, char ** argv )
{
   char src[] = "They are students.";
   char dest[] = "aeiou";
   char * pResult = string_del_characters( src, dest );
   std::cout << pResult << std::endl;
}



版权声明:本文为gupuyi2012原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。