不要给另外的字符串分配额外的空间, 你必须原地修改输入字符串, 使用 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)
- }
来源: http://www.bubuko.com/infodetail-3508269.html