首页 > 试题广场 >

回文子串

[编程题]回文子串
  • 热度指数:8619 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。
("回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。)
具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。

数据范围:字符串长度满足  

输入描述:
输入一个字符串S 例如“aabcb”(1 <= |S| <= 50), |S|表示字符串S的长度。


输出描述:
符合条件的字符串有"a","a","aa","b","c","b","bcb"

所以答案:7
示例1

输入

aabcb

输出

7
头像 牛客题解官
发表于 2020-06-04 15:01:15
精华题解 题目难度:一星 考察点:回文字符串 方法1:暴力 1. 分析: 这个题我们首先看到的是字符串s的长度才不到50,所以可以使用最简单的暴力枚举就可以解决这个问题。这个问题可以拆分成如下两部分: (1). 如何枚举字符串s的全部子串; (2). 如何判断字符串是否为回文字符串。 对于第(1 展开全文
头像 橙木
发表于 2019-10-08 21:18:54
今天对于处理字符串的认识有了进一步了解可以采用数组记录的方式暂存,也可以采用扩散的方式去遍历,当然也可以是爆力破解数组记录: #include <stdio.h> #include <stdlib.h> #include <string.h> char *get 展开全文
头像 小蒲想变强
发表于 2021-10-03 17:09:13
回文子串:快手招聘题库 # 解题思路: 1.因为不同位置的字符串即使相同也算作不同的字符串位置,使用有多少个字符(字符串长度)就有多少个不同字符串的位置。 2.判断字符串回文,使用遍历法。 # 3.将1和2中的计数相加,即使回文总数。 c码: #include<string.h> int 展开全文
头像 laglangyue
发表于 2020-05-26 23:56:16
回文子串,中心扩展法最易记忆也容易code。每次做到这类题目第一时间想的就是中心扩展,然后复习一遍动态规划和马拉车。 import java.util.*; public class Main { public static void main(String[] args){ 展开全文
头像 流浪~~
发表于 2021-11-07 21:02:36
回文串都可以用这个套路做啊!!! import java.util.*; public class Main{ public static void main(String[] args){ Scanner input = new Scanner(System.in); 展开全文