美文网首页
647. 回文子串

647. 回文子串

作者: bangbang2 | 来源:发表于2020-08-19 10:41 被阅读0次
image.png

思路:
直接暴力来列举出所有的回文中心,然后一个一个的去判断是不是能构成回文串
判断索引为left和right的值是不是相等,如果相等res++,同时向左右继续去比较
对于长度为n的字符串,有2n-1个回文中心
因为长度为奇数,回文中心只有一个 left==right
如果长度是偶数,回文中心有两个 left=i/2 right=i/2+i%2
回文中心只有两种:1个字符或2个字符
对于长度为n的字符串,每一个字符都是一种回文中心
任何两个连续且不重复的字符都是回文中心


image.png
image.png

和最长回文子串用的是一个模板

class Solution {
    int res=0;
    public int countSubstrings(String s) {
       for(int i=0;i<s.length();i++){
           helper(i,i,s);
           helper(i,i+1,s);
       }
       return res;//左闭右开
            }
    public void helper(int left,int right,String s){
        while(left>=0&&left<s.length()&&right>=0&&right<s.length()&&left<=right&&s.charAt(left)==s.charAt(right)){          
            res++;
            left--;
            right++;
        }
    }

}

相关文章

  • # 647. 回文子串(647. Palindromic Sub

    题目地址:647. 回文子串Given a string, your task is to count how m...

  • 两道回文子串的解法

    两道题分别是:leetcode 5. 最长回文子串 和 647. 回文子串 先看647题 找到一个字符串中所有的回...

  • Leetcode每日一题(5)

    647. 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串...

  • 647.回文子串

    647.回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即...

  • 647. 回文子串

    思路:直接暴力来列举出所有的回文中心,然后一个一个的去判断是不是能构成回文串判断索引为left和right的值是不...

  • 647. 回文子串

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

  • 647. 回文子串

    这道题目和求解最长回文子串的题目是一样的框架结构, 不同的地方在于这到题目统计的是总数.

  • 647. 回文子串

    解法 动态规划解法 中心扩展思想

  • 647. 回文子串

    一 题目: 二 思路: 动态规划法 状态:dp[i][j] 表示字符串s在[i,j]区间的子串是否是一个回文串。状...

  • 647. 回文子串(Python)

    题目 难度:★★★☆☆类型:数组方法:动态规划 力扣链接请移步本题传送门[https://leetcode-cn....

网友评论

      本文标题:647. 回文子串

      本文链接:https://www.haomeiwen.com/subject/unlrjktx.html