【中心扩展法】LCR_020_回文子串

求解代码

java 复制代码
        public int countSubstrings(String s) {

            if(s==null||s.length()==0){
                return 0;
            }

            int ans = 0;

            for(int i=0;i<s.length();i++){
            		 // 1. 以i为中心(奇数长度回文)
                ans += countPalindrome(s, i, i);
                // 2. 以i和i+1为中心(偶数长度回文)
                ans += countPalindrome(s, i, i+1);
            }
            return ans;
        }

        private int countPalindrome(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;
        }
相关推荐
不光头强2 小时前
spring boot项目欢迎页设置方式
java·spring boot·后端
XLYcmy2 小时前
一个用于统计文本文件行数的Python实用工具脚本
开发语言·数据结构·windows·python·开发工具·数据处理·源代码
4311媒体网2 小时前
自动收藏功能的实现方法
java·开发语言
xyq20242 小时前
SQLite 创建表
开发语言
Tansmjs2 小时前
C++中的工厂模式变体
开发语言·c++·算法
Yana.nice2 小时前
证书格式的适用场景与核心对比
java·linux
naruto_lnq2 小时前
多平台UI框架C++开发
开发语言·c++·算法
Tingjct2 小时前
十大排序算法——交换排序(一)
c语言·开发语言·数据结构·算法·排序算法