leetcode 1446. 连续字符

【题目】1446. 连续字符

给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。
请你返回字符串的能量。

示例 1:

输入:s = "leetcode"
输出:2
解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。

示例 2:

输入:s = "abbcccddddeeeeedcba"
输出:5
解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。

示例 3:

输入:s = "triplepillooooow"
输出:5

示例 4:

输入:s = "hooraaaaaaaaaaay"
输出:11

示例 5:

输入:s = "tourist"
输出:1

提示:
1 <= s.length <= 500
s 只包含小写英文字母。

【解题思路1】

class Solution {
    public int maxPower(String s) {
        if (s.length() == 0)    return 0;
        if (s.length() == 1)    return 1;
        char cur = s.charAt(0);
        int max = 0;
        int count = 0;
        for(char c : s.toCharArray()){
            if(cur == c){
                count++;
            }else{
                cur = c;
                max = Math.max(max, count);
                count = 1;
            }
        }
        return Math.max(max, count);
    }
}
class Solution {
    public int maxPower(String s) {
        int ans = 1;
        int count = 1;
        for(int i = 1; i < s.length(); i++){
            if(s.charAt(i) == s.charAt(i-1)){
                count++;
                ans = Math.max(count, ans);
            }
            else{
                count = 1;
            }
        }
        return ans;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章