更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。
组队打卡,更多解法等你一起来参与哦!
LeetCode 面试题 01.06. 字符串压缩,难度简单。
遍历
解题思路:遍历字符串
class Solution {
public String compressString(String s) {
// 判断是否是空字符串
if (s.isEmpty()) return s;
StringBuilder result = new StringBuilder();
result.append(s.charAt(0));
char[] chars = s.toCharArray();
int count = 1;
for (int i = 1; i < chars.length; ++i) {
// 判断是否是 chars[i - 1] 和 chars[i] 是否是相同字符
if (chars[i - 1] == chars[i]) {
++count;
} else {
// 添加数量以及新的字符
result.append(count).append(chars[i]);
// count 置为 1
count = 1;
}
}
// 添加最后一段相同的字符的长度
result.append(count);
return result.toString().length() < s.length() ? result.toString() : s;
}
}