golang练习,反转切片

package main

import (
	"fmt"
)

func main() {
	var s1 []int = []int{1,2,3,4,5,6}
	var s2 []int = []int{1,2}
	rotate(s1)
	rotate(s2)
	fmt.Println(s1)
	fmt.Println(s2)
}

func rotate(s []int){
	left,rigth := 0,0
	if len(s)%2 == 0{ //判断长度是奇数仍是偶数,根据这个来肯定旋转的中心
		left = len(s)/2 - 1
		rigth = len(s)/2
	}else{
		left=len(s)/2 - 1
		rigth=len(s)/2 + 1
	}
	for ;left >= 0 || rigth <= len(s)-1;left,rigth= left-1,rigth+1{
		s[left],s[rigth] = s[rigth],s[left]
	}
}
相关文章
相关标签/搜索