给定一个数组a和另外两个int变量k和temp,写一个反转数组元素的循环.
for (k = 0; k < a.length-1; k++) {
temp = a[k];
a[k] = a[a.length-1-k];
a[a.length-1-k] = temp;
}
Run Code Online (Sandbox Code Playgroud)
这不起作用.知道为什么吗?
例如,为a = [0, 1, 2, 3, 4, 5]你切换0和5两次:当i == 0和时i == 5.这种双重切换将使两个元素都处于原始位置:(0, 5) -> (5, 0) -> (0, 5).
尝试让你的循环只通过一半的数组:所以每对切换一次.