【链表】【打卡第131道】:leetcode 每日一题: 1446. 连续字符

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 ;
    }
}

おすすめ

転載: blog.csdn.net/Sunshineoe/article/details/121667000