回文子串
给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。
回文字符串 是正着读和倒过来读一样的字符串。
子字符串 是字符串中的由连续字符组成的一个序列。
输入:s = “abc”
输出:3
解释:三个回文子串: “a”, “b”, “c”
输入:s = “aaa”
输出:6
解释:6 个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| const isPalindrome = (s) => { let i = 0; let j = s.length - 1; while (i < j) { if (s[i] != s[j]) return false; i++; j--; } return true; };
const countSubstrings = (s) => { let count = 0; for (let i = 0; i < s.length; i++) { for (let j = i; j < s.length; j++) { if (isPalindrome(s.substring(i, j + 1))) { count++; } } } return count; };
|