【LeetCode647-20.8.19-回文字串】题目链接:LeetCode647
过程:一开始暴力,时间老长,然后看题解,知道了
方法1:枚举回文串中心
方法2: Manacher(马拉车)算法
思路:暴力枚举子串o(n3)、枚举中心o(n2)、Manacher o(n);
代码:
class Solution {
public int countSubstrings(String s) {
StringBuilder sb=new StringBuilder();
int n=s.length();
sb.append("$#");
for(int i=0;
irmax){
imax=i;
rmax=i+f[i]-1;
}
ans+=f[i]/2;
}
return ans;
}
}
推荐阅读
- LeetCode-20.8.22-24点游戏
- LeetCode-2020.8.20-扫雷游戏
- LeetCode111-20.8.21-二叉树的最小深度
- LeetCode109-20.8.18-有序链表转二叉搜索树