答案 0 :(得分:1)
以下是如何有效地做到这一点。我认为代码是自我解释的。
static void RemoveRepeated(ref int[] array)
{
int count = 0;
for (int i = 0; i < array.Length; )
{
var current = array[i];
int repeatCount = 1;
while (++i < array.Length && array[i] == current)
repeatCount++;
if (repeatCount == 1)
array[count++] = current;
}
Array.Resize(ref array, count);
}
答案 1 :(得分:0)
除非数组中的下一个元素等于堆栈中的最后一个元素,否则可以将它们逐个推入堆栈。