可以使用一個哈希表來存儲字符串中出現的字符,并遍歷字符串刪除重復字符。具體步驟如下:
下面是一個示例代碼:
#include <stdio.h>
#include <string.h>
void removeDuplicates(char* str) {
int hash[256] = {0}; // 哈希表,用于存儲字符出現的次數
int j = 0; // 用于記錄處理后的字符串下標
for (int i = 0; i < strlen(str); i++) {
if (hash[(int)str[i]] == 0) {
str[j] = str[i];
hash[(int)str[i]] = 1;
j++;
}
}
str[j] = '\0'; // 結尾添加字符串結束符
}
int main() {
char str[] = "hello world";
printf("原始字符串:%s\n", str);
removeDuplicates(str);
printf("刪除重復字符后的字符串:%s\n", str);
return 0;
}
運行上面的代碼,可以看到輸出結果為:
原始字符串:hello world
刪除重復字符后的字符串:helo wrd
這樣就實現了刪除字符串中的重復字符的功能。