题解 | #字符串反转#
字符串反转
https://www.nowcoder.com/practice/e45e078701ab4e4cb49393ae30f1bb04
package main
import (
"fmt"
)
func reverseString(str string) string {
runes := []rune(str)
length := len(runes)
for i:=0; i< length/2;i++ {
runes[i], runes[length-i-1] = runes[length-i-1], runes[i]
}
return string(runes)
}
func main() {
var input string
fmt.Scan(&input)
reversed := reverseString(input)
fmt.Println(reversed)
}
在上面的代码中,我们定义了一个reverseString函数来反转字符串。它接受一个字符串作为参数,并将其转换为[]rune类型以便进行修改。然后,我们使用两个指针从字符串的两端向中间遍历,并交换字符的位置,直到达到中间位置。最后,我们将修改后的[]rune转换回字符串并返回。
在main函数中,我们首先读取输入的字符串,然后调用reverseString函数来获取反转后的字符串,并将其打印输出。
package main
import (
"fmt"
"strings"
)
func reverseString(s string) string {
// 将字符串转换成字符数组
strArr := strings.Split(s, "")
// 反转字符数组
for i, j := 0, len(strArr)-1; i < j; i, j = i+1, j-1 {
strArr[i], strArr[j] = strArr[j], strArr[i]
}
// 将字符数组转换成字符串
return strings.Join(strArr, "")
}
func main() {
var s string
fmt.Scanln(&s)
fmt.Println(reverseString(s))
}

