从中心拓展
可能有奇数,也可能是偶数,奇数中心就1个,偶数就是2个。根据中心点的位置。
偶数的为 i / 2 + i % 2
js相除可能会有小数,所以使用s.charAt()来进行比较。
/**
* @param {string} s
* @return {number}
*/
var countSubstrings = function(s) {
let n = s.length;
let ans = 0;
for (let i = 0; i < n * 2 - 1; i++) {
let l = i / 2;
let r = i / 2 + i % 2;
while (l >= 0 && r < n && s.charAt(l) === s.charAt(r)) {
l--;
r++;
ans++;
}
}
return ans;
};
时间复杂度n平方
空间复杂度1
本文介绍了一种通过中心拓展的方法来计算字符串中所有回文子串数量的算法。该方法考虑了奇数长度和偶数长度的回文串,并通过滑动窗口的方式遍历字符串,利用charAt()函数进行字符比较。最终返回回文子串的总数。
6658

被折叠的 条评论
为什么被折叠?



