给你一个字符串 s
,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。
请你返回字符串的能量。
示例 1:
输入:s = "leetcode" 输出:2 解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。
示例 2:
输入:s = "abbcccddddeeeeedcba" 输出:5 解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。
题解:
### 解题思路
先将字符串 s 用toCharArray();转换成char数组c[] ,因为传入字符串长度最少为1,所以定义一个max并初始化为1,而变量temp则是记录连续最长的字符长度,当c[i] = c[i+1]时即说明出现了连续的字符,则让temp自增1。当且仅当temp>max时,将max=temp,得到目前最大「能量」;而一旦连续的字符断裂,即c[i]!=c[i+1]时,让temp重置为1 。
当 c[] 遍历完后即可得到字符串的「能量」max。
Java代码如下:
class Solution {
public int maxPo