我觉得这道题跟这道题差不多啊,不同的是这道题一个指针就够了。无非是一个判断不相等,一个判断相等。
cpp实现:
/*
* @lc app=leetcode.cn id=1446 lang=cpp
*
* [1446] 连续字符
*/
// @lc code=start
class Solution {
public:
int maxPower(string s) {
int ans = 1; // case 0
if (s.length() == 1) return ans;
int index = 1; // 指针初始化
char stdchar = s[0]; // 与之比较的字符
int cnt = 1; // 计数
while (index<s.length())
{
if (s[index] == stdchar) {
cnt += 1;
if (cnt > ans) ans = cnt; // 更新结果
}
else {
// 不相同
if (cnt > ans) ans = cnt; // 更新结果
stdchar = s[index]; // 初始化待比较的标准字符
cnt = 1; // 初始化cnt
}
index += 1;
}
return ans;
}
};
// @lc code=end