連続して繰り返される文字を削除

434 ワード

簡単なプログラムを書き、c文字列を処理し、連続的に繰り返される文字を削除し、abbccdaaaeからabcdaeに変換するなど、元の文字列を保持しなくてもよい.新しいメモリを割り当てることができますが、メモリをあまり割り当てないでください.連続して二字を繰り返すことに注意して、連続しなければ、例えば例のa.
void func(char* str)
{
	int left = 0;
	int right = 0;
	while(str[right] != '\0')
	{
		str[left] = str[right++];
		while(str[right] != '\0' && str[right] == str[left])
			right++;
		left++;
	}
	str[left] = '\0';
}