题目链接1446. 连续字符简单算法原理解法一次遍历类似线性动态规划写法一用cnt计数更新1ms击败100.00%时间复杂度O(N)遍历每个字母如果后续字母与前一个字母相同此字母连续长度cnt同时更新最大长度ret否则cnt重新置为1表示新的字母重新开始计数写法二直接用长度更新1ms击败100.00%时间复杂度O(N)与写法一相同只是我们这次不用cnt记录连续相同字母的长度而是用start标记开头用i-start直接算出长度来更新Java代码class Solution { //写法一用cnt计数更新 public int maxPower(String s) { int ret1,cnt1; for(int i1;is.length();i){ if(s.charAt(i)s.charAt(i-1)){ cnt; retMath.max(ret,cnt); }else cnt1; } return ret; } }class Solution { //写法二直接用长度更新 public int maxPower(String s) { int ret0,ns.length(); for(int i0;in;){ int starti; i; while(ins.charAt(i)s.charAt(i-1)) i; retMath.max(ret,i-start); } return ret; } }