1.判断平衡子串
判断是否为平衡字符串,利用哈希表存储存储每种字符出现的次数。为了判断快速判断所有字符出现的次数是否相等,我们可以维护所有字符出现次数的最大值 maxVal,当满足map.size()*maxVal==i-j+1,所有字符出现的次数相等。
int maxVal=0;
for(int i=0;i<s.length();i++){
map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0)+1); //存储出现次数
maxVal=Math.max(maxVal,map.get(s.charAt(i)));
if(map.size()*maxVal==i+1){
//是平衡字符串
//需要进行的操作
}
2.判断回文字符串
public boolean isTrue(String str) {
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str.charAt(i) != str.charAt(len - 1 - i)) {
return false;
}
}
return true;
}
原文链接: https://blog.csdn.net/qq_53568730/article/details/141649678