美文网首页
647. 回文子串

647. 回文子串

作者: justonemoretry | 来源:发表于2021-10-27 22:17 被阅读0次
image.png

解法

动态规划解法

class Solution {
    public int countSubstrings(String s) {
        int n = s.length();
        // i到j是否为回文子串
        boolean[][] dp = new boolean[n][n];
        int res = 0;
        // 递归顺序
        for (int j = 0; j < n; j++) {
            for (int i = 0; i <= j; i++) {
                // 状态转移,i位置等于j,且之前位置是回文串或单个元素
                dp[i][j] = s.charAt(i) == s.charAt(j) && (j - i < 2 || dp[i + 1][j - 1]);
                if (dp[i][j]) {
                    res++;
                }
            }
        }
        return res;
    }
}

中心扩展思想

class Solution {
    public int countSubstrings(String s) {
        int ans = 0;
        int n = s.length();
        // 中心扩展法,所有字符串都能通过一个元素为中心进行两边同时扩展
        // 或者以两个元素为中心,进行两边同时扩展
        for (int i = 0; i < 2 * n - 1; i++) {
            // left总是从中间,偶数是right和left相同,就是一个扩展的情况
            // 奇数时right比left大1,是二个向外扩展的情况
            int left = i / 2;
            int right = left + i % 2;
            while (left >= 0 && right < n && s.charAt(left) == s.charAt(right)) {
                ans++;
                left--;
                right++;
            }        
        }
        return ans;
    }
}

相关文章

  • # 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/nbwyaltx.html