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;
}
相关推荐
Goldn.6 小时前
Java核心技术栈全景解析:从Web开发到AI融合
java· spring boot· 微服务· ai· jvm· maven· hibernate
虾..6 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙6 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
李慕婉学姐7 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
m0_740043737 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖7 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
未若君雅裁7 小时前
JVM面试篇总结
java·jvm·面试
kk哥88998 小时前
C++ 对象 核心介绍
java·jvm·c++
YoungHong19928 小时前
面试经典150题[072]:从前序与中序遍历序列构造二叉树(LeetCode 105)
leetcode·面试·职场和发展
招风的黑耳8 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端