leetcode-回文类题-647-求字符串中 回文子串 的数目

1、回文子串-647

题目:

给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。

回文字符串 是正着读和倒过来读一样的字符串。

子字符串 是字符串中的由连续字符组成的一个序列。

示例 1:

复制代码
输入:s = "abc"
输出:3
解释:三个回文子串: "a", "b", "c"

示例 2:

复制代码
输入:s = "aaa"
输出:6
解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"

思路:找出回文中心 向两边延申,判断是否是回文字符串,每移动一次res++;这是因为aca是回文子串,bacab也是回文子串,且要考虑边界值,使用方括号 [] 访问超出范围的索引会返回 undefined。要用charAt去处理l和r为负数的情况

题解:

javascript 复制代码
var countSubstrings = function(s){
  let res = 0;
  let n = s.length;
for(let i = 0;i<2*n-1;i++){            //对于字符串s有2n-1的回文中心
  let l = i/2;
  let r = i/2+i%2;
if(s.charAt(l)==s.charAt(r)&&l>=0&&r<n){
  res++;
  l++;
  r--;
}
}
return res;
}
相关推荐
LuckyAnJo5 分钟前
Leetcode-100 贪心算法
算法·leetcode·贪心算法
万亿少女的梦1685 分钟前
基于Ebay拍卖网站成交价格的影响因素分析
java·开发语言·网络安全
慕洋男孩13 分钟前
LeetCode(977):有序数组的平方
c语言·leetcode
佩奇的技术笔记14 分钟前
初级:I/O与NIO面试题深度剖析
java·nio
鲁子狄15 分钟前
[笔记] SpringBoot3 使用 EasyExcel 封装工具类实现复杂 Excel 数据处理:使用Java构建高效的数据导入解决方案
java·后端
lingdian2317 分钟前
spring-security原理与应用系列:核心过滤器
java·后端·spring·安全管理·spring-security
平乐君17 分钟前
Leetcode刷题笔记1 图论part07
笔记·leetcode·图论
ljh123321ljh17 分钟前
常见框架漏洞—Thinkphp
java·网络安全·中间件·tomcat·firefox
摇滚侠25 分钟前
java -jar 指定spring配置文件
java·spring·jar
鲁子狄27 分钟前
[笔记] SpringBoot3 使用 EasyExcel 封装工具类实现,自定义表头导出,并实现数据格式化转换与添加下拉框操作.
java·后端