【中心扩展法】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;
        }
相关推荐
fengxin_rou6 分钟前
RabbitMQ安装教程:windows本地安装和docker部署
java·分布式·后端·rabbitmq
a8a30211 分钟前
Laravel7.x核心特性全解析
java·spring boot·后端
CN-Dust12 分钟前
【C++专题】格式化输出与输入
开发语言·c++·算法
AI人工智能+电脑小能手16 分钟前
【大白话说Java面试题】【Java基础篇】第19题:HashMap的key如何减少发生哈希冲突
java·开发语言·后端·面试·哈希算法·hash-index·hash
coderlin_22 分钟前
Langgraph项目三 agent搭建
java·数据库·redis
im_AMBER23 分钟前
Leetcode 162 除了自身以外数组的乘积 | 接雨水
开发语言·javascript·数据结构·算法·leetcode
xyx-3v25 分钟前
信号量(二进制/计数)
java·linux·数据库
是个西兰花30 分钟前
C++:异常
开发语言·c++·异常
AI人工智能+电脑小能手34 分钟前
【大白话说Java面试题】【Java基础篇】第18题:HashMap底层是如何扩容的
java·开发语言·面试·散列表·hash-index·hash
AbandonForce37 分钟前
Map类:pair键值对|map的基本操作|operator[]
开发语言·c++·算法·leetcode