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.
Input: s = "leetcode" Output: 2 Explanation: The substring "ee" is of length 2 with the character 'e' only.
Input: s = "abbcccddddeeeeedcba" Output: 5 Explanation: The substring "eeeee" is of length 5 with the character 'e' only.
Input: s = "triplepillooooow" Output: 5
Input: s = "hooraaaaaaaaaaay" Output: 11
Input: s = "tourist" Output: 1
1 <= s.length <= 500
s
contains only lowercase English letters.
impl Solution {
pub fn max_power(s: String) -> i32 {
let mut s = s.bytes().peekable();
let mut count = 1;
let mut power = 1;
while let Some(ch0) = s.next() {
if let Some(&ch1) = s.peek() {
if ch1 == ch0 {
count += 1;
} else {
power = power.max(count);
count = 1;
}
}
}
power.max(count)
}
}