代码拉取完成,页面将自动刷新
package valid_palindrome
func isPalindrome(s string) bool {
bytes := []byte(s)
i, j := 0, len(bytes)-1
L:
for i < j {
for {
if i >= j {
break L
}
if !isAlpha(bytes[i]) {
i++
} else {
break
}
}
for {
if i >= j {
break L
}
if !isAlpha(bytes[j]) {
j--
} else {
break
}
}
if toLower(bytes[i]) != toLower(bytes[j]) {
return false
}
i++
j--
}
return true
}
func toLower(b byte) byte {
if b >= 'A' && b <= 'Z' {
return 'a' + b - 'A'
}
return b
}
func isAlpha(b byte) bool {
if 'a' <= b && b <= 'z' || 'A' <= b && b <= 'Z' || '0' <= b && b <= '9' {
return true
}
return false
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。