题目:删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。
解题思路:
这题目要求从给定字符串中删除指定的字符。我们需要实现一个函数,该函数接受原始字符串和要删除的字符,然后返回删除指定字符后的新字符串。
- 遍历删除法:遍历原始字符串,如果字符不是要删除的字符,则将其添加到新字符串中,最后返回新字符串。
- 双指针法:使用双指针技巧,一个指向原始字符串,另一个指向新字符串。遍历原始字符串,如果字符不是要删除的字符,则将其添加到新字符串中,最后返回新字符串。
- 使用C标准库函数:使用C标准库函数
strchr()
查找要删除的字符,然后使用strcpy()
复制剩余的部分到新字符串。
现在,让我们使用这三种方法来实现删除指定字符的功能。
方法1: 遍历删除法
- 实现代码:
#include <stdio.h>
#include <string.h>
void remove_character(char *str, char c) {
int len = strlen(str);
int index = 0;
for (int i = 0; i < len; i++) {
if (str[i] != c) {
str[index++] = str[i];
}
}
str[index