- 👑专栏内容:力扣刷题
- ⛪个人主页:子夜的星的主页
- 💕座右铭:前路未远,步履不停
目录
- 一、题目描述
- 二、题目分析
一、题目描述
题目链接:长度为三且各字符不同的子字符串
如果一个字符串不含有任何重复字符,我们称这个字符串为 好 字符串。
给你一个字符串 s ,请你返回 s 中长度为 3 的 好子字符串 的数量。
注意,如果相同的好子字符串出现多次,每一次都应该被记入答案之中。
子字符串 是一个字符串中连续的字符序列。
二、题目分析
题目意思很简单,只要连续的三个字符不是相同字符就被称为一个好字符串。
那么很简单,直接循环遍历这个字符串,只要连续三个字符都不一样,就让计数器加一即可。
class Solution {
public int countGoodSubstrings(String s) {
int count = 0;
for(int i = 0;i<s.length() - 2;i++){
if(s.charAt(i) != s.charAt(i + 1) && s.charAt(i) != s.charAt(i + 2) && s.charAt(i + 1) !=s.charAt(i + 2))
count++;
}
return count;
}
}
为什么不能直接:s.charAt(i) != s.charAt(i + 1) != s.charAt(i + 2)
因为,不能连续使用两次 !=
运算符来比较三个值。