【发布时间】:2010-01-26 06:09:17
【问题描述】:
我正在尝试在 Java 中反转一个 int 数组。
此方法不会反转数组。
for(int i = 0; i < validData.length; i++)
{
int temp = validData[i];
validData[i] = validData[validData.length - i - 1];
validData[validData.length - i - 1] = temp;
}
这有什么问题?
【问题讨论】:
-
我明白我做错了什么。应该是validData.length/2。否则,它会自行反转,然后自行取消反转。
-
参见en.wikipedia.org/wiki/In-place_algorithm,其中包含对该算法正确版本的描述。
-
Java 8 : stackoverflow.com/a/46756353/1216775