# Consecutive Characters

## [Consecutive Characters](https://leetcode.com/problems/consecutive-characters)

Given a string `s`, the power of the string is the maximum length of a non-empty substring that contains only one unique character.

Return *the power* of the string.

**Example 1:**

```

Input: s = "leetcode"
Output: 2
Explanation: The substring "ee" is of length 2 with the character 'e' only.
```

**Example 2:**

```

Input: s = "abbcccddddeeeeedcba"
Output: 5
Explanation: The substring "eeeee" is of length 5 with the character 'e' only.
```

**Example 3:**

```

Input: s = "triplepillooooow"
Output: 5
```

**Example 4:**

```

Input: s = "hooraaaaaaaaaaay"
Output: 11
```

**Example 5:**

```

Input: s = "tourist"
Output: 1
```

**Constraints:**

* `1 <= s.length <= 500`
* `s` contains only lowercase English letters.

## Solutions

### 🧠 Cpp

```cpp
class Solution
{
public:
    int maxPower(string s)
    {
        int max_power = 1, counter = 0;
        char prev = 0;
        auto update_max_flush_counter = [&](char ch)
        {
            max_power = std::max(max_power, counter);
            prev = ch;
            counter = 1;
        };

        for(char ch : s)
        {
            if(ch == prev)
                counter++;
            else
                update_max_flush_counter(ch);
        }
        update_max_flush_counter(s.back());

        return max_power;
    }
};
```
