用Goland写一个函数,判断一个字符串是否对称,若对称,返回true,否则返回false。
时间: 2024-09-29 09:10:36 浏览: 19
在GoLand中,你可以创建一个名为`IsSymmetric`的函数,这个函数接受一个字符串作为输入,然后通过比较字符串的第一个字符到最后一个字符以及倒数第一个字符到第一个字符是否一一对应相等来判断其是否对称。下面是一个简单的示例:
```go
package main
import (
"strings"
)
func IsSymmetric(s string) bool {
if len(s) == 0 || len(s) == 1 { // 空字符串或单个字符都是对称的
return true
}
left := 0
right := len(s) - 1
for left < right {
if s[left] != s[right] { // 如果任意一对对应字符不相等,则不对称
return false
}
left++
right--
}
return true // 遍历结束后,字符串是对称的
}
func main() {
str1 := "madam"
str2 := "hello"
fmt.Println(IsSymmetric(str1)) // 输出:true
fmt.Println(IsSymmetric(str2)) // 输出:false
}
```
在这个例子中,`IsSymmetric`函数首先检查字符串长度,如果长度为0或1则直接返回true。然后使用两个指针从两端向中间移动,逐个比较对应的字符,如果有任何一个不相等,就立即返回false;当左右指针相遇时,说明整个字符串是对称的,返回true。