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;
}
相关推荐
摇滚侠29 分钟前
面试实战 问题二十四 Spring 框架中循环依赖问题的解决方法
java·后端·spring
三木水2 小时前
Spring-rabbit使用实战七
java·分布式·后端·spring·消息队列·java-rabbitmq·java-activemq
别来无恙1493 小时前
Spring Boot文件下载功能实现详解
java·spring boot·后端·数据导出
optimistic_chen3 小时前
【Java EE初阶 --- 网络原理】JVM
java·jvm·笔记·网络协议·java-ee
朱小弟cs63 小时前
Orange的运维学习日记--41.Ansible基础入门
linux·运维·学习·ci/cd·自动化·ansible·devops
CIb0la3 小时前
kali linux 2025.2安装WPS并设置无报错的详细步骤
linux·运维·wps
weixin_456904273 小时前
Java泛型与委托
java·spring boot·spring
悟能不能悟3 小时前
能刷java题的网站
java·开发语言
醉方休4 小时前
Node.js 精选:50 款文件处理与开发环境工具库
linux·运维·node.js
程序员陆通4 小时前
Java高并发场景下的缓存穿透问题定位与解决方案
java·开发语言·缓存