nums = [1, 2, 3, 4, 5]

如何求middle的位置正好二分

对于偶数: len(nums)/2 - 1 (+0.5) 对于奇数: len(nums)/2

因此中心点的位置为: l + (r - l) / 2 靠左 l + (r - l + 1) / 2 靠右

现在加入我们要做数组倒序交换, 我们可以这么做

// Recommended
for i, j := l, r; i < j; i, j := i+1, j-1 {
  nums[i], nums[j] = nums[j], nums[i]
}

// 或者只有r,l之间有2个及以上元素的时候才需要偏移
for k := 0; k < (r-l+1)/2; k++ {
  nums[l+k], nums[r -k] = nums[r -k], nums[l+k]
}