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]
	}
}
相關文章
相關標籤/搜索