189. 旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
输入: nums = [1,2,3,4,5,6,7], k = 3
输出: 【5,6,7,1,2,3,4】
//三次翻转,时间On,空间O1
func rotate(nums []int, k int) {
n := len(nums)
k = k%n
run(nums[:n-k])
run(nums[n-k:])
run(nums)
}
func run(nums []int) {
l, r := 0, len(nums)-1
for l < r {
nums[l], nums[r] = nums[r], nums[l]
l++
r--
}
}