【中心扩展法】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-ai 第四多模态API
java·人工智能·spring
她说..4 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
watson_pillow5 小时前
c++ 协程的初步理解
开发语言·c++
庞轩px5 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你915 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
皮皮林5516 小时前
面试官:ZSet 的底层实现是什么?
java
码云数智-大飞6 小时前
C++ RAII机制:资源管理的“自动化”哲学
java·服务器·php
2601_949816586 小时前
Spring+Quartz实现定时任务的配置方法
java
白毛大侠6 小时前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
李昊哲小课7 小时前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl