【力扣1876】长度为三且各字符不同的子字符串

在这里插入图片描述

  • 专栏内容:力扣刷题
  • ⛪个人主页:子夜的星的主页
  • 座右铭:前路未远,步履不停

目录

  • 一、题目描述
  • 二、题目分析


一、题目描述

题目链接:长度为三且各字符不同的子字符串

如果一个字符串不含有任何重复字符,我们称这个字符串为 好 字符串。

给你一个字符串 s ,请你返回 s 中长度为 3 的 好子字符串 的数量。

注意,如果相同的好子字符串出现多次,每一次都应该被记入答案之中。

子字符串 是一个字符串中连续的字符序列。

【力扣1876】长度为三且各字符不同的子字符串_第1张图片

二、题目分析

题目意思很简单,只要连续的三个字符不是相同字符就被称为一个好字符串。

那么很简单,直接循环遍历这个字符串,只要连续三个字符都不一样,就让计数器加一即可。

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)
因为,不能连续使用两次 !=运算符来比较三个值。

你可能感兴趣的:(#,力扣笔记,leetcode,算法)