1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| // @Title: 验证回文字符串 Ⅱ (Valid Palindrome II)
// @Author: 15816537946@163.com
// @Date: 2022-03-26 15:33:56
// @Runtime: 16 ms
// @Memory: 6.4 MB
func validPalindrome(s string) bool {
isPalindrome := func(lo, hi int) bool {
for lo < hi {
if s[lo] != s[hi] {
return false
}
lo++
hi--
}
return true
}
for lo, hi := 0, len(s)-1; lo < hi; lo, hi = lo+1, hi-1 {
if s[lo] != s[hi] {
return isPalindrome(lo+1, hi) || isPalindrome(lo, hi-1)
}
}
return true
}
|