NOTE
判断回文
判断字符串是否回文:翻转与双指针。
这是历史学习笔记,可能存在过时或不完整的理解。
1. 题目描述
给定一个字符串,请编写一个函数判断该字符串是否回文。如果回文请返回true,否则返回false。
2. 思路
- 翻转
- 双指针
3. 实现
3.1. 翻转
func judge(str string) bool {
return str == reverse2(str)
}
func reverse2(str string) string {
runes := []rune(str)
i, j := 0, len(runes)-1
for i < j {
runes[i], runes[j] = runes[j], runes[i]
i++
j--
}
return string(runes)
}
3.2. 双指针
func judge( s string ) bool {
left := 0
right := len(s)-1
for left < right {
if s[left] != s[right] {
return false
}
left++
right--
}
return true
}
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看