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
26
27
28
29
30
31
| // @Title: 回文子串 (Palindromic Substrings)
// @Author: 15816537946@163.com
// @Date: 2022-03-23 23:12:46
// @Runtime: 0 ms
// @Memory: 1.8 MB
func countSubstrings(s string) int {
n := len(s)
if n == 0 {
return 0
}
var cnt int
var subString func(int, int)
subString = func(lo, hi int) {
for lo >= 0 && hi < n && s[lo] == s[hi] {
cnt++
lo--
hi++
}
}
for i := range s {
subString(i, i)
subString(i, i+1)
}
return cnt
}
|