LeetCode-in-Java

3084. Count Substrings Starting and Ending with Given Character

Medium

You are given a string s and a character c. Return the total number of substrings of s that start and end with c.

Example 1:

Input: s = “abada”, c = “a”

Output: 6

Explanation: Substrings starting and ending with "a" are: "**a**bada", "**aba**da", "**abada**", "ab**a**da", "ab**ada**", "abad**a**".

Example 2:

Input: s = “zzz”, c = “z”

Output: 6

Explanation: There are a total of 6 substrings in s and all start and end with "z".

Constraints:

Solution

public class Solution {
    public long countSubstrings(String s, char c) {
        long count = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == c) {
                count++;
            }
        }
        return (count * (count + 1)) / 2;
    }
}