647. 回文子串

——————————————————————————————————————————
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。

示例 1:
输入: “abc”
输出: 3
解释: 三个回文子串: “a”, “b”, “c”.

示例 2:
输入: “aaa”
输出: 6
说明: 6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”.

注意:输入的字符串长度不会超过1000。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindromic-substrings
——————————————————————————————————————————
1、遍历法
从第一个点开始遍历,以一个点为中心,同时向左和向右进行比较,如果相等,则回文子串个数+1。另一种情况是以两个点为中心,然后同时向左和向右进行比较,如果相等,则回文子串个数+1。具体的C++代码如下:

class Solution {
public:int countSubstrings(string s) {int length = s.size();int num=0;for(int i=0;i<length;i++){int j=i;  #以一个点为中心进行比较int k=i;while((j>=0) && (k<length) && (s[j]==s[k])){num = num + 1;j--;k++;}}for(int i=0;i<length;i++){int j=i;    #以两个点为中心进行比较int k=i+1;while(j>=0 && k<length && s[j]==s[k]){num = num + 1;j--;k++;}}return num;}
};

leetcode - 647. 回文子串相关推荐

  1. 《leetcode : 647. 回文子串 思考分析双指针解法》

    647. 回文子串 如何确定是回文串: 找中心然后往两边扩散,判断是否对称即可. 在遍历中心点的时候,注意中心点可以是一个元素也可以是两个元素. class Solution {public:int ...

  2. LeetCode 647. 回文子串 (动态规划)

    647. 回文子串 题意: 任意给定一个字符串,计算这个字符串的回文子串个数 解法1(暴力法) 思路: 默认回文子串初始个数为字符串长度 从子串长度为2-母串长度:找出所有的子串startIndex和 ...

  3. Java实现 LeetCode 647 回文子串(暴力)

    647. 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "a ...

  4. LeetCode 647. 回文子串(DP/中心扩展)

    文章目录 1. 题目 2. 解题 2.1 动态规划 2.2 中心扩展法 1. 题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组 ...

  5. Leetcode 647.回文子串

    Time: 20190905 Type: Medium 题目描述 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不 ...

  6. 122. Leetcode 647. 回文子串 (动态规划-子序列问题)

    步骤一.确定状态: 确定dp数组及下标含义 dp[i][j] 表示的是区间范围[i,j] 的子串是否是回文子串 步骤二.推断状态方程: 在确定递推公式时,就要分析如下几种情况. 整体上是两种,就是s[ ...

  7. LeetCode 647 回文子串

    题目链接:力扣 思路:动态规划 dp[i][j]表示s下标[i:j]的子串是否是回文串,问题转化为只要遍历dp数组,统计true的个数 确定边界情况: ●当i=j时,dp[i][i]表示s下标i到i的 ...

  8. 代码随想录补打卡 647 回文子串 516 最长回文子序列

    647 回文子串 代码如下 func countSubstrings(s string) int {    //dp[i][j]数组的含义是i-j这个范围的元素是否为回文串 dp := make([] ...

  9. python回文子串_LeetCode 647. 回文子串 | Python

    647. 回文子串 题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串. 示例 1: 输入:" ...

最新文章

  1. MNN编译android
  2. CSS样式表margin和padding的区别
  3. RAII实现的mutex资源类
  4. 信息论-Shannon entropy-Kullback-Leibler (KL) divergence-cross-entropy
  5. Openwrt上配置Aria2迅雷离线下载步骤
  6. 蓝桥杯评分标准_蓝桥杯比赛要求
  7. 信息采集-火车采集器
  8. J.U.C之并发工具类:Exchanger
  9. DP+BIT(优化复杂度) UESTC 1217 The Battle of Chibi
  10. 在线预览文档简单例子
  11. python数据类型总结
  12. 计算机工程专业院校排名,法国计算机工程专业大学排名(2020年USNEWS)_快飞留学...
  13. Python3实现旋转数组的3种算法 1
  14. 纯前端导出PDF分页截取问题处理
  15. “ARP欺骗”木马病毒
  16. USB2.0接口管脚定义
  17. matlab 图像傅里叶逆变换,用MATLAB实现图像的傅里叶变换.ppt
  18. 安慕希酸奶推出草莓味了
  19. 双功能RGD-TAT修饰DNA纳米胶束|聚苯胺纳米线修饰DNA(PAINW/DNA)
  20. tp1900芯片对比7621a_MT7621A /MT7620N / MT7620A单频双频刷机教程(区别于高通芯片刷机过程)...

热门文章

  1. PHP加速 eAccelerator配置和使用指南
  2. 国内最大最全的交换技术专区上线
  3. Postgres-XL数据库集群在RedHat/Fedora/Oracle/CentOS平台上的搭建
  4. JavaScript玩转机器学习:模型和层
  5. Nginx使用HTTP基本身份验证限制访问
  6. 容器编排技术 -- Kubernetes Pod概述
  7. sqlserver查看表空间
  8. JSP+Servlet+C3P0+Mysql实现的azhuo商城
  9. 【Java】计算1+3+5+7+9和100以内的素数
  10. 【Python爬虫】Re(正则表达式)库入门