将一个字符串中某个特定字符删除。要求不能增加额外的存储和较高的效率。比如:"hello world",删除其中的'o'字符,那么返回结果就是:"hell wrld"。
char *DeleteChar(char *str, char c)
{
}
如果删除的为一个特定的字符组,那么算法又该如何写呢?比如:"hello world",要求删除其中的'o','l',那么返回的结果就是:he wrd。
原型:
char *DeleteChar(char *str, char chr[], int n)
{
}
此算法的关键之一在于设置了标记读写位置的变量,这样不用增加额外的内存空间和重复的拷贝,直接在给定的空间实现了算法。关键之二在于用一个数组来记录待删除的字符组,有利于对待删除的字符进行查找和判定。
Copyright 2011-2020 © MallocFree. All rights reserved.