可以使用兩個指針來去除重復字符。
首先,創建一個空的字符串,用于存儲結果。
然后,遍歷原始字符串中的每一個字符。對于每個字符,檢查它是否已經出現在結果字符串中。如果沒有出現,則將該字符添加到結果字符串中。
最后,返回結果字符串。
下面是一個示例代碼:
#include <stdio.h>
#include <string.h>
void removeDuplicates(char* str) {
int len = strlen(str);
char result[len];
int index = 0;
for (int i = 0; i < len; i++) {
int j;
for (j = 0; j < index; j++) {
if (str[i] == result[j]) {
break;
}
}
if (j == index) {
result[index++] = str[i];
}
}
result[index] = '\0';
strcpy(str, result);
}
int main() {
char str[] = "Hello World!";
removeDuplicates(str);
printf("String after removing duplicates: %s\n", str);
return 0;
}
這個代碼中,removeDuplicates
函數接受一個字符數組作為參數,并修改原始字符串,去除重復字符。main
函數中的示例代碼演示了如何調用該函數。輸出結果為:
String after removing duplicates: Helo Wrd!