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]
	}
}

  

posted @ 2020-10-12 21:43  NewBird001  阅读(824)  评论(0)    收藏  举报