不要给另外的字符串分配额外的空间,你必须原地修改输入字符串、使用 O(1) 的额外空间解决这一问题。
package main
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
func main() {
a := "Hello, 世界"
println(a)
println(Reverse(a))
println(a)
}