1、题目描述
给你一个字符串 s
,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。
请你返回字符串的能量。
2、算法分析
这题比较简单,遍历就可以。
遍历的时候,i是从1开始的。相等的条件是char[i-1] = char[i],为了防止数组的下标越界。
计数的时候使用的是Math.max(a,b)求取最大值;
3、代码实现
class Solution {
public int maxPower(String s) {
if(s == null){
return 0;
}
if(s.length() == 1){
return 1;
}
int max = 1;
char[] chars = s.toCharArray();
int m = 1;
for(int i = 1;i < s.length();i++){
if(chars[i-1] == chars[i]){
max = Math.max(max,++m) ;
}else{
m = 1;
}
}
return max ;
}
}