美文网首页
LeetCode 第647题:回文子串

LeetCode 第647题:回文子串

作者: 放开那个BUG | 来源:发表于2021-06-15 23:33 被阅读0次

    1、前言

    题目描述

    2、思路

    此题与最长回文子串很像,只不过那个是求最长的回文子串,而这个是求回文子串的数目。但是他们的解法是一样的,都是针对字符串的每一位由中心向两边扩展,扩展的时候分为 (i, i) 与 (i, i + 1) 两种情况即可。

    3、代码

    public class Q647_CountSubstrings {
    
        public int countSubstrings(String s) {
            if(s == null || s.length() == 0){
                return 0;
            }
    
            int count = 0;
            for (int i = 0; i < s.length(); i++) {
                count += paran(s, i, i);
                count += paran(s, i, i + 1);
            }
    
            return count;
        }
    
        private int paran(String s, int left, int right) {
            int count = 0;
            while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)){
                count++;
                left--;
                right++;
            }
    
            return count;
        }
    }
    

    相关文章

      网友评论

          本文标题:LeetCode 第647题:回文子串

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