数据结构练习(26)在字符串中删除特定的字符
2012-12-17 15:03
225 查看
http://zhedahht.blog.163.com/blog/static/25411174200801931426484/
思路:
关于删除字符处理的特别巧妙,双指针移动的方法,最终时间复杂度为O(n).
需要注意的一点是:最后不能忘记给src字符串加上'\0'
思路:
关于删除字符处理的特别巧妙,双指针移动的方法,最终时间复杂度为O(n).
需要注意的一点是:最后不能忘记给src字符串加上'\0'
#include <iostream> #include <cstring> using namespace std; void DeleteChars(char *src, const char *dst) { if (!src || !dst) return; const int hashsize = 256; int hash[hashsize]; memset(hash, 0, sizeof(hash)); const char *p = dst; while (*p != '\0') { hash[*p] = 1; ++p; } char *pfast = src; char *pslow = src; while (*pfast != '\0') { if (hash[*pfast] != 1) { *pslow = *pfast; ++pslow; } ++pfast; } *pslow = '\0'; } int main() { char s1[100] = "They are students."; char s2[100] = "aeiou"; DeleteChars(s1, s2); return 0; }
相关文章推荐
- 在字符串中删除特定的字符 【微软面试100题 第六十三题】
- 在字符串中删除特定的字符
- 【每日面试题】在字符串中删除特定的字符
- 删除、去掉字符串尾部的0或者某个特定字符(递归实现)
- java 删除字符串中的特定字符
- 在字符串中删除特定的字符
- 在字符串中删除特定的字符
- 在字符串中删除特定的字符
- C++删除字符串中特定一个或多个字符
- 在字符串中删除特定的字符 【微软面试100题 第六十三题】
- 在字符串中删除特定的字符
- 在字符串中删除特定的字符
- 关于在字符串中删除特定的字符
- 【编程题目】在字符串中删除特定的字符
- 程序员面试题精选100题(36)-在字符串中删除特定的字符
- 在字符串中删除特定的字符
- (12) 转载:在字符串中删除特定的字符
- 【字符串处理算法】删除特定的字符的算法设计及C代码实现
- 在字符串中删除特定的字符
- 程序员面试100题之36在字符串中删除特定的字符