c语言

c语言字符串去重的方法是什么

小亿
86
2024-08-05 17:51:12
栏目: 编程语言

在C语言中,可以使用一个新的字符串数组来存储去重后的字符。具体方法如下:

  1. 遍历原始字符串,逐个字符判断是否在新的字符串数组中存在。
  2. 如果不存在,则将该字符添加到新的字符串数组中。
  3. 最后将新的字符串数组作为去重后的结果。

下面是一个示例代码:

#include <stdio.h>

void removeDuplicates(char* str) {
    int hash[256] = {0}; // 用于标记字符是否已经出现过
    int currentIndex = 0;

    for (int i = 0; str[i]; i++) {
        if (hash[(int)str[i]] == 0) {
            str[currentIndex] = str[i];
            currentIndex++;
            hash[(int)str[i]] = 1;
        }
    }

    str[currentIndex] = '\0';
}

int main() {
    char str[] = "hello world";
    removeDuplicates(str);
    printf("String after removing duplicates: %s\n", str);

    return 0;
}

运行上述代码后,将输出去重后的字符串:“helo wrd”。

0
看了该问题的人还看了