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;
}
相关推荐
身如柳絮随风扬2 小时前
Java中的CAS机制详解
java·开发语言
风筝在晴天搁浅3 小时前
hot100 78.子集
java·算法
故事和你914 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
嵩山小老虎4 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
TracyCoder1235 小时前
LeetCode Hot100(19/100)——206. 反转链表
算法·leetcode
Fleshy数模5 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
a41324475 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
Configure-Handler5 小时前
buildroot System configuration
java·服务器·数据库
踩坑记录5 小时前
leetcode hot100 94. 二叉树的中序遍历 easy 递归 dfs
leetcode
:Concerto5 小时前
JavaSE 注解
java·开发语言·sprint