做pc端网站包括哪些,做简单网站需要学什么,平面设计免费软件有哪些,重庆网站推广效果LeetCode 647.回文子串
题目描述
给你一个字符串s#xff0c;请你统计并返回这个字符串中回文子串的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串是字符串中的由连续字符组成的一个序列。
思路
思路#xff1a;中心拓展法 中心拓展法的意思是说#xf…LeetCode 647.回文子串
题目描述
给你一个字符串s请你统计并返回这个字符串中回文子串的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串是字符串中的由连续字符组成的一个序列。
思路
思路中心拓展法 中心拓展法的意思是说
假如字符串长度为奇数从中间的某一位出发同时向左和向右能够得到同样的结果回文子串数量假如字符串长度为偶数从中间的某两位出发同时向左和向右能够得到同样的结果回文子串数量 基于这个思路就很容易写了实际上就是两个while循环终止条件为任意一方到达边界或者出现了s.charAt(i) ! s.charAt(j)的情况就结束while循环否则指针一直移动回文子串数量一直
代码
class Solution {public int countSubstrings(String s) {int count 0;for (int i 0; i s.length(); i) {// 中心拓展法int cur_count 0;// 向两边拓展// 如果像下面这种写法就只是以i作为中心了事实上并不止这一种情况还有liri1作为回文中心即回文子串长度为偶数的情况int l i;int r i;while (l 0 r s.length() s.charAt(l) s.charAt(r)) {cur_count;l--;r;}l i;r i 1;while (l 0 r s.length() s.charAt(l) s.charAt(r)) {cur_count;l--;r;}count cur_count;}return count;}
}