在C語(yǔ)言中,可以使用一個(gè)新的字符串?dāng)?shù)組來(lái)存儲(chǔ)去重后的字符。具體方法如下:
下面是一個(gè)示例代碼:
#include <stdio.h>
void removeDuplicates(char* str) {
int hash[256] = {0}; // 用于標(biāo)記字符是否已經(jīng)出現(xiàn)過(guò)
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;
}
運(yùn)行上述代碼后,將輸出去重后的字符串:“helo wrd”。