从一个字符串中删除另一个字符串中出现的字符
2013-06-18 22:07
369 查看
#include <stdio.h> void delete_char(char *a, char *b) { if(a==NULL || b==NULL) return; char hash_table[256] = {0};//创建简单哈希数组,存储字符串b中每个字符出现的次数 char *p = b; while(*p != '\0') hash_table[*p++]++; char *fast = a; char *slow = a; while(*fast != '\0') { if(hash_table[*fast]==1)//如果该字符是字符串b中出现的,则指针直接++ { fast++; } else//否则,将其值赋给*slow { *slow++ = *fast++; } } *slow = '\0';//别忘了给结尾赋'\0' } int main() { char a[] = "we are students"; char b[] = "aeiou"; printf("%s中删除%s中出现的字符,结果是:\n",a,b); delete_char(a,b); printf("%s\n",a); return 0; }
相关文章推荐
- 小米面试题 从一个字符串中删除在另一个字符串中出现的字符
- 从一个字符串中删除另一个字符串中出现过的字符
- 从一个字符串中删除另一个字符串中出现的字符
- 从一个字符串中删除另一个字符串中出现过的字符
- 【剑指offer】之删除在另一个字符串中出现的字符
- 从一个字符串(A)中删去另一个字符串(B)中已经出现的字符
- (面试题)删除在另一个字符串中出现的字符
- 在字符串中删除另一个字符串中出现的字符
- 在字符串中删除另一个字符串中出现的字符
- 【剑指offer】删除在另一个字符串中出现的字符
- 在字符串中删除另一个字符串中出现的字符
- 在一个字符串中删除指定的字符 & 删除字符串中所有出现在另一个字符数组中的字符
- 【剑指offer】删除在另一个字符串中出现的字符
- 《剑指Offer》:删除在另一个字符串中出现的字符
- 删除字符串中出现次数最少的字符
- 判断一个字符串中的字符是否都在另一个中出现
- 从一个字符串删除另一个字符串
- 从键盘输入一个字符串与一个指定字符,将字符串中出现的指定字符全部删除
- 删除一字符串的出现的字符子串
- C++实现删除字符串中所有重复出现的字符