首页 > 其他分享 >【双指针】LeetCode 647. 回文子串

【双指针】LeetCode 647. 回文子串

时间:2023-01-27 21:55:05浏览次数:56  
标签:子串 right int result 647 回文 LeetCode left

题目链接

647. 回文子串

思路

使用中心扩散法解决,在 【双指针】LeetCode 5. 最长回文子串 的代码上稍作修改即可。

代码

class Solution {
    public int countSubstrings(String s) {
        int result = 0;

        for(int i = 0; i < s.length(); i++){
            result += spread(s, i, i);
            result += spread(s, i, i + 1);
        }

        return result;
    }

    int spread(String s, int left, int right){
        while(left >= 0 && right < s.length()){
            if(s.charAt(left) != s.charAt(right)){
                break;
            }
            left--;
            right++;
        }

        return (right - left) / 2;
    }
}

标签:子串,right,int,result,647,回文,LeetCode,left
From: https://www.cnblogs.com/shixuanliu/p/17069415.html

相关文章