问题描述
中文、数字、英文字母
示例
输入:"he師l發lo,世。+-*界,6"
输出:"6,界*-+。世,ol發l師eh"
Golang 实现
package main
import "fmt"
func reverseString(s string) string {
// 将字符串转换为 rune 类型的切片,并对该切片翻转
res := reverse([]int32(s))
// 再把 rune 类型的切片转为 string
return string(res)
}
func reverse(s []int32) []rune {
// 左右指针,对切片依次翻转
for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {
s[i], s[j] = s[j], s[i]
}
return s
}
func main() {
s := "he師l發lo,世。+-*界,6"
res := reverseString(s)
fmt.Println(res)
}
runeint32byte
rune
[]int32
在 go 的源码中:
type byte = uint8
type rune = int32
李培冠博客
欢迎访问我的个人网站:
李培冠博客:lpgit.com